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
嗨,
我在 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