【问题标题】:Make gdb display assembly instructions instead of C [duplicate]使gdb显示汇编指令而不是C [重复]
【发布时间】:2012-06-16 11:40:52
【问题描述】:

可能重复:
Switching to assembly in gdb

我正在调试 gdb 中的一些代码。当我运行 ni (for next instruction) 命令时,它会显示 C 代码。显示执行的汇编指令对我来说更有意义。

(gdb) ni
0x0804845a  28          tmp = *lpp;
(gdb) ni
0x0804845c  28          tmp = *lpp;
(gdb) ni
0x0804846a  29          **lpp = (unsigned long) &buf;
(gdb) ni
0x0804846c  29          **lpp = (unsigned long) &buf;

有没有办法让 gdb 显示汇编代码,而不是每次都调用disassm

编辑: 我知道layout asm 命令在读取行窗口中显示代码。我想在 gdb 命令行上查看反汇编,而不是在 gdb 窗口中。

【问题讨论】:

  • @OliCharlesworth 不是完全重复的,但其中一个答案(不是公认的)回答了这个问题。
  • @DmitriChubarov:是的,我总是寻找重复的答案,而不是问题。

标签: c debugging assembly gdb


【解决方案1】:

当您通过 ni 单步执行时,显示接下来的几条汇编指令通常非常有用。

(gdb) display/4i $pc

每次 GDB 停止时都会显示接下来的 4 条指令。

【讨论】:

    【解决方案2】:

    您是否尝试过使用 TUI ASM 布局?

    相当方便。

    (gdb) layout asm
    

    【讨论】:

    • 谢谢你。不知道。
    猜你喜欢
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 2013-10-09
    • 1970-01-01
    • 2019-11-23
    • 1970-01-01
    相关资源
    最近更新 更多