切换到gdb中的程序集

时间:2009-02-26 08:31:48

标签: assembly gdb

在gdb中调试C或C ++程序时是否有任何方法可以切换到程序集? (鉴于所有源文件及其相应的汇编文件都可用)

5 个答案:

答案 0 :(得分:57)

您可以在gdb中切换到asm布局:

(gdb) layout asm

有关详细信息,请参阅here

答案 1 :(得分:21)

有一种方法可以反汇编一个函数或某段代码,那就是你所追求的吗?

执行此操作的命令为disassemble <function name>或内存位置。

这是你指的是什么?

(gdb) help disassemble
Disassemble a specified section of memory.
Default is the function surrounding the pc of the selected frame.
With a single argument, the function surrounding that address is dumped.
Two arguments are taken as a range of memory to dump.

答案 2 :(得分:11)

在新的gdb版本7.0中,disassemble命令可以使用新的参数/m,这使得它发出混合源和反汇编。

答案 3 :(得分:4)

使用disas命令可能会执行您想要的操作。

根据内部帮助,disas命令执行以下操作:

Disassemble a specified section of memory.
Default is the function surrounding the pc of the selected frame.
With a single argument, the function surrounding that address is dumped.
Two arguments are taken as a range of memory to dump.

答案 4 :(得分:1)

cgdb的googlegroup也提出了这个问题 https://groups.google.com/forum/?hl=de&fromgroups=#!topic/cgdb-users/E-jZCJiBAQQ

还没有回答为什么布局asm不起作用

编辑:他们最近发布并告知其功能尚未实施。 (查看上面的链接)