在gdb中调试C或C ++程序时是否有任何方法可以切换到程序集? (鉴于所有源文件及其相应的汇编文件都可用)
答案 0 :(得分:57)
答案 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不起作用
编辑:他们最近发布并告知其功能尚未实施。 (查看上面的链接)