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