让gdb显示汇编指令而不是C

问题描述 投票:0回答:1

我正在 gdb 中调试一些代码。当我运行

ni
(用于下一条指令)命令时,它会显示 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
命令,它在readline窗口中显示代码。我想在 gdb 命令行上查看反汇编,而不是在 gdb 窗口中。

c debugging assembly gdb
1个回答
13
投票

当您单步执行

ni
时,显示接下来的一些汇编指令通常非常有用。

(gdb) display/4i $pc

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

© www.soinside.com 2019 - 2024. All rights reserved.