如何让cgdb显示汇编代码?

时间:2012-02-04 17:38:25

标签: macos assembly gdb disassembly cgdb

我无法找到cgdb反汇编二进制文件的方法,并在代码窗口中显示当前指令的汇编代码。这是可能的,我应该使用什么命令?我正在使用Mac OS X并从自制软件库获取cgdb。

3 个答案:

答案 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模式下像代码窗口那样显示汇编代码。