GDB:显示函数将我的 {type} 的地址打印为整数——想改成十六进制
GDB: display function prints my {type}'s address as an integer—would like to change to hex
>我正在使用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 命令 - 简单指南
相关文章:
- 在一定长度后从数组中打印时缺少整数
- 如何打印boost多精度128位无符号整数
- 为什么有时我输入一个整数,程序将第一个输入的数字打印成十进制数?
- 必须首先打印向量 v1 中最接近整数 x 的数字<int>
- C++ 将打印格式从整数 2255 更改为 $xx.xx
- 如何打印不带空格的输入整数?
- std::带有颜色和标题的 clog 包装器无法正确打印整数
- 指向整数数组和打印总和的指针
- 为什么这个程序接受整数和字母数字输入并打印它们? C++ 中的 std::string 也采用整数值吗?
- 打印出两个整数之间的偶数
- 无法在 Visual Studio 2019 中打印整数
- 将矢量的整数内容打印为字符串会导致分割错误
- 编写一个程序,输入整数 n 并打印该数字的字符数(符号除外)
- C++,尝试打印整数时cout的奇怪行为
- C++声明多个整数会打印不同的值
- 在 C++11 中打印编译时整数序列
- 打印整数总和 > 0
- 如何以相反顺序C 打印整数的单个数字
- 将数组与整数打印为十六进制
- 将整数打印为以小端序排列的4个字节的集合