我正在使用 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)?
谢谢。