相关疑难解决方法(0)

在GDB中显示当前汇编指令

我正在GDB中进行一些汇编级调试.有没有办法让GDB以与显示当前源代码行相同的方式向我显示当前的汇编指令?每个命令后的默认输出如下所示:

0x0001433f      990         Foo::bar(p);
Run Code Online (Sandbox Code Playgroud)

这给了我当前指令的地址,但是我必须继续参考输出,disassemble以便查看我当前正在执行哪条指令.

assembly gdb

169
推荐指数
7
解决办法
19万
查看次数

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

可能重复:
切换到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;
Run Code Online (Sandbox Code Playgroud)

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

编辑:我知道layout asm在readline窗口中显示代码的命令.我想在gdb命令行上看到反汇编,而不是在gdb窗口中.

c debugging assembly gdb

6
推荐指数
2
解决办法
5384
查看次数

如何使用gdb进入while循环?

我有一个while如下循环。

while (*d++ = *sc++)
Run Code Online (Sandbox Code Playgroud)

因为我希望深入了解指针,所以我想进入循环while并了解while循环如何使用指针。

我用过stepgdb但它没有while完全进入循环。有没有办法进入循环并理解while一步的操作。

c gdb

0
推荐指数
1
解决办法
903
查看次数

标签 统计

gdb ×3

assembly ×2

c ×2

debugging ×1