gcc没有生成调试文件

时间:2010-01-06 10:43:09

标签: c debugging gcc gdb

我想使用gcc和gdb编译带有调试信息的应用程序。当我执行以下操作时,将正确生成调试(.dSYM)文件:

gcc -ggdb src/test.c -o build/test

但是,如果我将其拆分为编译步骤和链接步骤,请执行以下操作:

gcc -ggdb -c src/test.c -o build/test.o
gcc -ggdb build/test.o -o dist/bin/test

...根本没有生成.dSYM个文件,因此gdb没有向我显示发生崩溃的源代码行,这使调试变得更加困难。由于我有相当多的源文件,因此无法在单gcc次调用中编译和链接它们。

如何在使用单独的编译和链接步骤时让gcc生成.dSYM个文件?

2 个答案:

答案 0 :(得分:2)

您还可以在编译选项中指定-g3,以便gcc将调试符号放入二进制文件中,而不是放在单独的文件中。不确定这是否是你所需要的。

答案 1 :(得分:2)

检查this post中第一个答案的第二条评论。

这是一个怪癖。也许您可以手动运行“dsymutil”程序来生成dSYM文件。