gpt4 book ai didi

c++ - GDB:显示函数将我的 {type} 的地址打印为整数——想更改为十六进制

转载 作者:太空宇宙 更新时间:2023-11-04 04:47:49 30 4
gpt4 key购买 nike

我正在使用 GDB 在命令行上进行调试。我有一些 typedef 结构,我想通过它们的地址使用“显示”命令来跟踪它们。我的命令如下所示:

display {Link} 0x100103980

其中 Link 在链表中。除了这个地址,我没有任何其他方式可以访问它。

编辑:澄清一下,Link 是结构类型,而不是变量。我的链接没有任何变量名称,只有它们的地址。

我的输出如下:

5: {Link} 4296030592 = {
value = 100,
next = 0x1001039e0
}

但是如您所见,地址不再以十六进制表示,现在是整数形式。我尝试使用/x 但这也不起作用:

(gdb) display/x {Link}0x100103980
6: /x {Link} 4296030592 = {
value = 0x64,
next = 0x1001039e0

'display' 是否可以用十六进制显示地址?如果是这样,如何?编辑:我正在运行 OSX 10.8。

谢谢

最佳答案

如果你用它的名字而不是它的地址来调用一个结构,它会以十六进制显示地址。或者使用 print 来显示变量的地址:

(gdb) print/x &Link     print address of variable Link in hex

GDB commands by function - simple guide

关于c++ - GDB:显示函数将我的 {type} 的地址打印为整数——想更改为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19105866/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com