2012-06-03 65 views
5

我想在gdb中只反編譯一行代碼;要做到這一點,我需要所述行的內存地址。我怎樣才能得到gdb中特定代碼行的地址?或者更好的是,在gdb中是否有一個通過行號進行反彙編的命令?gdb反彙編一行

回答

3

放下你想拆解的線,然後,你可以嘗試獲取當前的指令。

disp/i $pc 

當我調試沒有調試信息的二進制文件時,這總是適用於我。也可以簡單地通過print $pcinfo registers獲得當前的pc或簡單地使用x指令。 例如: -

x/10i address //displays the first 10 instructions in assembly starting from address 

x/10i register //displays the first 10 instructions starting from address stored in register 
2

您可以使用:set disassemble-next-line on通過行號diassemble。然後使用任何你想在你想查看的特定行上設置斷點的技術。