执行程序的简单c源代码:
int main ( int argc , char **argv )
{
system ("XXXX");
return 0;
}
现在编译它并用 gdb 调试,我试图通过 p
命令查看“XXX”实际代表的地址,但是得到一个空值,我做错了吗?
最佳答案
如果要检查位于地址 0x40063c
的字符串,请使用 GDB examine
命令:
(gdb) x/s 0x40063c
请注意,此数据不 在堆栈中。您可以使用 info symbol
命令找出数据的位置:
(gdb) info sym 0x40063c
(这应该打印类似 symbol LC1 in .rodata of a.out
的内容)
关于c - 我应该如何查看GDB中特定地址的堆栈数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8629042/