2017-07-06 68 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