从命令行生成的.dSYM文件(Mac)

时间:2013-07-19 10:33:13

标签: c macos gcc makefile dsym

我刚开始用C编码,并运行其他人的Makefile,默认的C编译器设置为gcc。我在Mac OSX 10.8 Mountain Lion上,我相信我使用“XCode命令行工具”安装了编译器。在命令行上运行“make”后,我会为每个程序获取这些烦人的.dSYM文件。我读到这些是调试文件,但它们真的有必要吗?有没有办法阻止它们从命令行生成?

3 个答案:

答案 0 :(得分:26)

GCC的-g标志将生成调试符号。您只需从CFLAGS删除该标记即可。

答案 1 :(得分:9)

是的,dSYM文件是必需的。具体来说,它们包含Xcode调试版本中包含的符号表; release build将符号放在这个单独的文件中。如果您需要从发布版本中分析堆栈跟踪,则需要这样做。并确保您不会丢失文件,因为再次进行构建,即使源完全相同,也不会生成可用的dSYM文件。每个构建都有一个UUID,即使源没有更改,它也会随着每个构建而变化。 (我想它包括时间戳甚至是随机数。)

如果你丢弃了dSYM文件,那么如果你突然发现你的应用程序崩溃了很多,你可能会感到抱歉。

答案 2 :(得分:0)

只有在崩溃报告中需要解释堆栈跟踪中的位置时才需要它们。