作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我经常发现在调试程序时遍历堆栈并获取我遇到的任何正确对齐的指针大小值的符号很有用。我已经厌倦了手动执行此操作,因此我尝试编写一个命令来为我执行此操作。问题是“信息符号”似乎不喜欢在通过指针取消引用设置其参数时使用便利变量作为其参数。即:
(gdb) info symbol 0xb6ca4d28
[Useful Symbol Information]
(gdb) set $pointer = $esp
(gdb) while ( *(int*)$pointer != 0xb6ca4d28)
>set $pointer += 4
>end
(gdb) x/x $pointer
0x6ebee064: 0xb6ca4d28
(gdb) set $dereferencePointer = *(int *)$pointer
(gdb) p/x $dereferencePointer
$103 = 0xb6ca4d28
(gdb) info symbol $dereferencePointer
No symbol matches $dereferencePointer.
(gdb) set $dereferencePointer = 0xb6ca4d28
(gdb) p/x $dereferencePointer
$104 = 0xb6ca4d28
(gdb) info symbol $dereferencePointer
[Useful symbol information]
(gdb)
这是为什么?这是一个错误吗?有没有其他方法可以做到这一点?
谢谢!
吕克
PS:使用 Vanilla GDB 7.5
从列表更新:
这很可能是一个错误。
最佳答案
不管是否有错误,我建议在 p 和 x 命令中使用/a 格式说明符。这对我总是有效,而且打字速度也更快。
关于c++ - 获取 GDB 便利变量中保存的值的符号信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12940845/
我的图书馆的几个部分都带有“便利”功能。例如,容器类可能具有解析字符串信息的功能。这些功能不一定一直都需要(或想要),因此我想将它们放在单独的文件中,以便可以根据用户的需要将它们包括或省略。 应该如何
我已经尝试在 Stack Overflow 和其他网站上搜索使用 Sets 与 Lists 的优缺点和便利,但我真的找不到明确的答案何时使用这个或那个。 从 Hibernate 的文档中,他们声明非重
我是一名优秀的程序员,十分优秀!