2017-07-06 19 views
0

我知道GDB拆卸的兩種模式:如何告知GDB反彙編給定地址的N個指令,同時顯示原始字節?

  1. 首先命令用來顯示指令以及原始字節,但似乎無法接受的指令數拆卸 - 只讀存儲器範圍:

    disas/r $pc,+30

  2. 第二命令可以拆卸正好N個指令,像如下,但沒有原始字節:

    x/10i $pc

我想有這兩種模式的混合模式:使原始字節作爲disas/r可見,並且可以指定指令確切數字拆解爲x/10i。我可以使用GDB嗎?

回答

1

有沒有內置的方式來做到這一點。 (順便說一句,在我看來,這是一個疏忽,也許是一個錯誤報告,要求x/i能夠顯示字節會很好。)]

如果你真的需要這個,那麼有一個自己實現它的方式。基本思想是用Python編寫一個新的命令。該命令可以包裝disassemble命令(使用gdb.executeto_string參數),然後將其輸出限制爲N指令。

+0

好,[已報告](https://sourceware.org/bugzilla/show_bug.cgi?id=21814)。謝謝。 – Ruslan