我正在使用gdb进行堆栈调试,尝试获取someInt
的值,但是我的有限gdb知识无法做到。我需要使用gdb获取someInt
的值,它仅在#define行20之外的一个位置中被引用。
#define someInt 0x11111111
void someFunc() {
// ...
int a = 0;
if(a==someInt) { //line 20
//...
}
}
在调用编译程序后,我尝试过 gdb break 20
然后再使用 gdb x\dw $someInt
命令,但是出现了 No symbol 'someInt' in current context 的错误。如果我尝试用 x/dw 0x11111111
命令,会显示 'Cannot access memory at address 0x11111111'。因为无法重新编译代码(参考如何在GDB中打印#define常量?),所以不知道如何在该地址处打印值。请问如何使用 gdb(可能需要使用 x)来打印 someInt 的值?
someInt
的值...概念问题。someInt
到底是什么? - Sourav Ghosh