我无法找到cgdb反汇编二进制文件的方法,并在代码窗口中显示当前指令的汇编代码。这是可能的,我应该使用什么命令?我正在使用Mac OS X并从自制软件库获取cgdb。
答案 0 :(得分:4)
display/i $pc
在控制台窗口中始终显示当前指令的反汇编。
要显示反汇编以获取更多说明,请在i
前加上说明数。
例如,
display/5i $pc
显示接下来的5条指令的反汇编。
答案 1 :(得分:4)
最近更新(2017年2月)到cgdb可以做到这一点。您将需要cgdb版本0.7.0或更高版本。 (在撰写本文时,这是最新版本)。您可能需要自己从源代码编译它,因为它是最近的。
有关添加反汇编支持的更多详细信息,请访问: https://github.com/cgdb/cgdb/issues/44
要在cgdb中查看反汇编命中 esc 并输入:set dis
,请输入。
要返回源(如果可用),请重复此操作,但键入:set nodis
。
答案 2 :(得分:0)
我正在使用MacOS来化解二进制炸弹并找到“gdb -tui”会有所帮助。比我发现“cgdb”可以使代码丰富多彩。但我们想要看到的是在代码窗口上显示反汇编的代码,上面的答案只是逐行显示代码或只显示不变的行。
不幸的是,我发现一篇帖子说“ cgdb不支持程序集显示(还)。” https://groups.google.com/forum/#!topic/cgdb-users/E-jZCJiBAQQ
Sorry guys, cgdb does not support assembly display (yet). It's a
frequently requested feature, and when we get a little more time to
work on cgdb we will probably add this.
Starting cgdb with the -tui option is a bad idea -- the TUI (text user
interface) is an alternative curses interface to gdb, not a part of
cgdb. It will not play nice with cgdb.
Mike
--
Mike Mueller
嗯,这是12/11/15,但似乎仍然无法在tui模式下像代码窗口那样显示汇编代码。