Ubuntu 当 tryint 查看 $esp 处的内存时,gdb 无法访问地址处的内存

Ubuntu gdb can't access memory at address when tryint to view memory at $esp

嗨,

我在 VMWARE 运行 ubuntu 上,当我尝试访问 $esp 的内存时,出现屏幕截图中显示的错误 below.I 我已尝试使用谷歌搜索答案,但大多数都太复杂了。

是否需要进行任何配置才能使其正常工作?

我已经在我的实际 windows 机器上尝试了 运行 gdb,它没有这个问题。

谢谢。

你想要 $rsp,而不是 $esp

通过使用 $esp,你得到了 $rsp 的符号扩展 32 位截断值,它指向梦幻岛。

注意:GDB 提供 $sp 伪寄存器,自动映射到给定平台的正确堆栈指针寄存器。

(gdb) p $rsp
 = (void *) 0x7fffffffe178
(gdb) p $sp
 = (void *) 0x7fffffffe178
(gdb) p $esp
 = -7816
(gdb) p/x $esp
 = 0xffffe178