【问题标题】:Displaying struct values in GDB在 GDB 中显示结构值
【发布时间】:2012-09-19 01:24:56
【问题描述】:

在 GDB 中,给定一个指向结构的变量,print 将显示原始指针值,x 将显示指向的原始字节。有什么方法可以显示指向该结构的数据,即字段及其值的列表?

【问题讨论】:

标签: c debugging gdb gnu


【解决方案1】:
print *variable

如果这样做,它将在 GDB 中显示该变量的值。
您还可以选择在缩进和换行中显示结构:

$1 = {
next = 0x0,
flags = {
sweet = 1,
sour = 1
},
meat = 0x54 "Pork"
}

为此,您需要设置漂亮的打印:

set print pretty on

如果你想打印一个值数组,你可以这样做:

print *array@len

【讨论】:

  • 是的,它会打印原始数据,但仍然无法将这些值识别为结构。如果我做对了,问题是关于识别为结构(即识别结构中的字段),我认为这是不可能的
  • 您最初的帖子(编辑前)只是关于 print *array@len ,它只能打印相同类型数组的成员。 chemie.fu-berlin.de/chemnet/use/info/gdb/gdb_9.html。但是,对答案的后一种编辑可能是一个解决方案。感谢您将其添加到我的知识中
  • 是否也可以打印带有每个成员的类型名的结构?
猜你喜欢
  • 2010-12-18
  • 1970-01-01
  • 1970-01-01
  • 2020-02-03
  • 1970-01-01
  • 1970-01-01
  • 2010-12-25
  • 1970-01-01
  • 2021-04-28
相关资源
最近更新 更多