2009-04-28 39 views
1

「以$開頭的名稱指的是寄存器(如果程序要返回到現在選擇的堆棧幀,將返回 , )或調試器 「便利」變量(任何這樣的名稱都不是已知的寄存器) 使用賦值表達式爲便捷變量賦值。有人可以幫助解釋gdb中的打印命令:

上面的行來自gdb的幫助打印。 有人可以請解釋以上線路,特別是哪些寄存器在這裏被引用? 謝謝。

回答

2

因此,根據手冊頁,print是「顯示錶達式的值」。所以,這些將在當前斷點處討論CPU中的寄存器值。有關調試寄存器值的一些detailed information

GDB有四個「標準」寄存器名稱,它們在大多數機器上都可用(在表達式中) - 只要它們不與架構的寄存器的標準助記符衝突。寄存器名稱$ pc和$ sp用於程序計數器寄存器和堆棧指針。 $ fp用於包含指向當前堆棧幀的指針的寄存器,$ ps用於包含處理器狀態的寄存器。例如,你可以打印帶有

十六進制程序計數器可以得到什麼寄存器可供您

info registers 

info all-registers 

,然後附加信息的詳細信息在一個特定的寄存器上

info registers register_name 

希望這有助於!

1

它指的是CPU寄存器。例如,EAX,ECX,ESP,EIP ...

+0

自動變量被存儲,所以自動變量也存儲在寄存器的運行時間。有寄存器變量以及自動變量和寄存器變量之間的區別是什麼,如果自動變量也存儲在寄存器.. ....? – mawia 2009-04-28 22:25:04

相關問題