当您在VS中进入调试器并打开反汇编窗口时,每个程序集片段都显示在其对应的代码部分(或多或少)的下方。-S的GCC只输出拆卸下来的组件。
在GCC中有没有一个选项来显示一些与原始代码的对应关系?
源代码是C++。
发布于 2010-06-14 18:49:05
用gcc -g编译你的代码,然后你可以用objdump -S yourfile反汇编。这将给你一个分散在源代码中的反汇编。
发布于 2010-06-14 18:49:48
如果您询问有关调试的问题,请在gdb中使用带有/m (混合)标志的反汇编命令:
(gdb) disas /m main假设代码是可用的,并且您使用-g标志进行编译,则会使用散布在汇编程序中的C++代码来反汇编main。
发布于 2010-06-14 18:52:02
而是反汇编对象。通常由-S给出的代码正是gcc为您的代码生成的代码,没有启动代码或链接器放在一起的其他东西。补充:当然,在对象中包含调试信息会有很大帮助。
https://stackoverflow.com/questions/3036565
复制相似问题