2011-04-05 41 views

回答

1

si跨過的movl指令(您可以通過鍵入display/i $pc,觀察如何輸出的變化來驗證。

什麼沒有發生(可能混淆你什麼)是更新源這是因爲asm()中的代碼沒有任何行號註釋,因此GDB無法確定它應該顯示哪條線。

通常,編譯器會將這些註釋放入程序集但是這裏你繞過了編譯器,如果你想要行號是正確的,你必須自己添加這些註釋(通常不值得麻煩)。

+0

'$ pc'是什麼?程序計數器? – Strawberry 2011-04-07 04:33:40

+0

是的,$ pc是程序計數器,x86_64上的$ rip的值。 輸入'layout regs'有助於以可視化的方式進行操作, - tui視圖。 – rurban 2016-03-25 18:38:38