【发布时间】:2013-02-05 01:25:44
【问题描述】:
我正在使用 gdb 执行一个基本的 C 程序。我在main() 的开头有一个断点。运行代码后,gdb 按预期在 main() 处中断。
现在,如果我检查堆栈指针寄存器 (rsp),我看到了
0x7fffffffe170: 0x00000000.
当我使用cat /proc/17232/stat | cut -d" " -f29/proc(其中 17232 是此进程的 pid)检索相同的信息时,我看到:
140737488347112 (which in hex is: 0x7fffffffdfe8).
为什么我们会从 gdb 中看到不同的当前堆栈指针值。还有,为什么 gdb 将 rsp 的内容显示为 NULL (0x00000000)?
谢谢。
【问题讨论】:
标签: c linux operating-system