如何在gdb中设置rsp?

如何在gdb中设置rsp?,gdb,Gdb,我试图设置rsp,以便可以从中看到调用堆栈: (gdb) set $rsp = 0x3fa4fefde930 Left operand of assignment is not an lvalue. 这很奇怪,因为我认为rsp应该能够设置 是否有任何可能导致此问题,以及如何避免此问题?也许您正在尝试从最上面的帧以外的帧设置$rsp?尝试先切换到第0帧: (gdb) select-frame 0 (gdb) set $rsp = 0x3fa4fefde930 您肯定能够设置$rsp。这种情况是

我试图设置rsp,以便可以从中看到调用堆栈:

(gdb) set $rsp = 0x3fa4fefde930
Left operand of assignment is not an lvalue.
这很奇怪,因为我认为rsp应该能够设置


是否有任何可能导致此问题,以及如何避免此问题?

也许您正在尝试从最上面的帧以外的帧设置
$rsp
?尝试先切换到第0帧:

(gdb) select-frame 0
(gdb) set $rsp = 0x3fa4fefde930

您肯定能够设置
$rsp
。这种情况是否发生在一个小型测试二进制文件(hello world)中?您是试图在断点上设置$rsp,还是正在检查核心转储?而您的二进制文件是64位的?我正在调试Chromium代码,这与hello world相比相对较大。我的二进制文件是64位的,这是相对于本机客户端的,所以gdb中的堆栈可能被修改了。