【发布时间】:2023-03-16 11:10:02
【问题描述】:
我只是想知道如何使用 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
有什么建议吗?
【问题讨论】:
-
Rsp没有地址;它的值通常但不一定被解释为地址。