查看寄存器以外的堆栈内容

时间:2013-04-23 20:19:15

标签: assembly gdb

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

print/d $rsp

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

print/d 8($rsp)

我有分段错误。当我尝试:

print/d *$rsp+8 

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

x/8d $rsp

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

cmp    0x8(%rsp),%eax

任何建议的人?

1 个答案:

答案 0 :(得分:1)

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