当你进入VS中的调试器并打开反汇编窗口时,每个汇编片段都显示在它的相应代码段下面(或多或少)。带-S的GCC仅输出精简组件。
GCC中是否有选项显示与原始代码的对应关系?
源代码是C ++。
答案 0 :(得分:5)
使用gcc -g
编译代码,然后可以使用objdump -S yourfile
进行反汇编。这将为您提供穿插源的反汇编。
答案 1 :(得分:3)
如果您询问有关调试的信息,请在gdb中使用带有/ m(混合)标志的disassemble命令:
(gdb) disas /m main
如果代码可用并且使用-g标志进行编译,将使用汇编程序中的C ++代码反汇编main。
答案 2 :(得分:1)
反而反汇编对象。通常由-S给出的代码正是gcc为您的代码生成的代码,没有启动代码或链接器组合在一起的其他内容。 补充:当然在对象中有调试信息会有很多帮助。
答案 3 :(得分:1)
gcc yourFile.C -S -fverbose-asm
不完全是你想要的,但比没有任何东西更有用。