Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 查看除寄存器以外的堆栈内容_Assembly_Gdb - Fatal编程技术网

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

Assembly 查看除寄存器以外的堆栈内容,assembly,gdb,Assembly,Gdb,我只是想知道如何使用GDB查看8(%rsp)的内容。根据我在谷歌搜索几个gdb指南后发现的几个来源,当我试图查看寄存器rsp的内容时,我可以使用以下命令: print/d $rsp 将打印$rsp的地址。然而,当我尝试: print/d 8($rsp) 我犯了一个错误。当我尝试时: print/d *$rsp+8 它说我不能取消对通用指针的引用。我还尝试使用: x/8d $rsp 但是,我认为该命令将查看rsp下方的8个数字,而不是rsp上方的数字。我说得对吗?我想查看8($rsp)内

我只是想知道如何使用GDB查看8(%rsp)的内容。根据我在谷歌搜索几个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

各位有什么建议吗?

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

rsp没有地址;它的值通常(但不一定)解释为地址。