我正在使用GDB在命令行上进行调试。我有一些typedef结构,我想通过他们的地址使用'display'命令来跟踪它。我的命令如下:
display {Link} 0x100103980
Link位于链接列表中。除了这个地址,我没有任何其他方式来访问它。
编辑:只是为了澄清,Link是结构类型,而不是变量。我的链接没有任何变量名,只有他们的地址。
我的输出如下:
5: {Link} 4296030592 = {
value = 100,
next = 0x1001039e0
}
但正如您所看到的,地址不再以十六进制表示,现在它以int形式表示。 我尝试使用/ x,但这也不起作用:
(gdb) display/x {Link}0x100103980
6: /x {Link} 4296030592 = {
value = 0x64,
next = 0x1001039e0
'display'是否可以以十六进制显示地址?如果是这样,怎么样? 编辑:我正在运行OSX 10.8。
由于
答案 0 :(得分:0)
如果你用它的名字而不是它的地址来调用结构,它将以十六进制显示地址。或者,使用print
显示变量的地址:
(gdb) print/x &Link print address of variable Link in hex