在GDB中显示结构值

rwa*_*ace 19 c debugging gdb gnu

在GDB中,给定一个指向结构的变量,print将显示原始指针值并x显示指向的原始字节.有没有办法显示指向该结构的数据,即字段列表及其值?

Yar*_*neo 49

print *variable
Run Code Online (Sandbox Code Playgroud)

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

$1 = {
next = 0x0,
flags = {
sweet = 1,
sour = 1
},
meat = 0x54 "Pork"
}
Run Code Online (Sandbox Code Playgroud)

为此你需要设置漂亮的印刷品:

set print pretty on
Run Code Online (Sandbox Code Playgroud)

如果要打印一组值,您可以这样做:

print *array@len
Run Code Online (Sandbox Code Playgroud)