要让gcc吐出从流程图到源代码行号的映射,您需要使用一些工具和技术。以下是一些建议:
-g
选项编译源代码,以在可执行文件中包含调试信息。gcc -g source.c -o executable
gdb
(GNU调试器)来调试可执行文件。gdb
可以帮助您检查源代码行号、设置断点、单步执行等。gdb executable
-S
选项让gcc
只生成汇编代码,并使用-g
选项包含调试信息。gcc -S -g source.c -o assembly.s
-E
选项让gcc
只进行预处理,并使用-g
选项包含调试信息。gcc -E -g source.c -o preprocessed.c
-fdump-tree-all
选项让gcc
在编译过程中生成各种树形图。gcc -fdump-tree-all source.c -o executable
这将生成各种树形图文件,例如source.c.002t.optimized
和source.c.004t.gimple
。
-fdump-rtl-all
选项让gcc
在编译过程中生成各种RTL图。gcc -fdump-rtl-all source.c -o executable
这将生成各种RTL图文件,例如source.c.030r.lcm
和source.c.031r.expand
。
通过以上方法,您可以生成各种不同级别的代码表示,并使用这些表示来映射流程图和源代码行号。
领取专属 10元无门槛券
手把手带您无忧上云