2013-04-03 81 views
1

我試圖設置RSP這樣我可以從中看到調用堆棧:如何在gdb中設置rsp?

(gdb) set $rsp = 0x3fa4fefde930 
Left operand of assignment is not an lvalue. 

這很奇怪,因爲我覺得RSP應該能夠設定。

有什麼可能導致這種情況,以及如何避免它?

+0

您應該一定能夠設置'$ rsp'。這是否發生在一個小的測試二進制文件(hello world)?你是否試圖在斷點上設置$ rsp,或者你在檢查覈心轉儲? –

+0

而你的二進制是64位? – dbrank0

+0

我正在調試Chromium代碼,與hello世界相比這是相對較大的代碼。而我的二進制是64位。 – Deqing

回答

0

也許你試圖設置$rsp不是最頂級的框架?嘗試先切換到第0幀:

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