我刚开始用 C 编写代码,并使用默认 C 编译器设置为 gcc 运行其他人的 Makefile。我在 Mac OSX 10.8 Mountain Lion 上,我相信我使用“XCode 命令行工具”安装了编译器。在命令行上运行“make”后,我得到了每个程序的这些烦人的 .dSYM 文件。我读到这些是调试文件,但它们真的有必要吗?有什么办法可以防止它们从命令行生成?
问问题
20505 次
3 回答
31
GCC的-g
标志将生成调试符号。您可以简单地从CFLAGS
.
于 2013-09-22T15:02:16.590 回答
11
是的,dSYM 文件是必需的。具体来说,它们包含 Xcode 调试版本中包含的符号表;发布版本将符号放在这个单独的文件中。如果您需要分析发布版本中的堆栈跟踪,您将需要它。并确保您不会丢失文件,因为再次构建,即使源绝对相同,也不会产生可用的 dSYM 文件。每个构建都有一个 UUID,并且随着每个构建而改变,即使源没有改变。(我猜它包括一个时间戳,甚至是一个随机数。)
如果你扔掉了 dSYM 文件,那么如果你突然发现你的应用程序崩溃了很多,你可能会很抱歉。
于 2014-01-26T20:40:17.393 回答
0
只有当您需要在崩溃报告中解释堆栈跟踪中的位置时,它们才是必需的。
于 2013-07-19T15:18:18.053 回答