2

我只是想知道如何使用 GDB 查看 8(%rsp) 的内容。根据我在谷歌搜索几个 gdb 指南后发现的几个来源,当我尝试查看寄存器 rsp 的内容时,我可以使用这个命令:

print/d $rsp

将打印 $rsp 的地址。但是,当我尝试:

print/d 8($rsp)

我遇到了分段错误。当我尝试时:

print/d *$rsp+8 

它说我无法取消引用通用指针。我也尝试使用:

x/8d $rsp

但是,我认为此命令将查看 rsp 下方而不是 rsp 上方的 8 个数字。我对吗?我要查看8($rsp)的内容的唯一原因,有一个汇编语句:

cmp    0x8(%rsp),%eax

有什么建议吗?

4

1 回答 1

2

事实上,您非常接近解决方案。正确的语法是简单的print /d *($rsp+8)or x /x $rsp+8

于 2013-04-23T20:29:55.707 回答