在开发过程中是否需要dSYM文件?

Spa*_*Dog 6 debugging macos xcode ios

我知道dSYM文件对于为应用商店生成应用程序的最终版本很有用,因为它们将具有用于表示崩溃日志的调试符号.

我的问题是,在开发期间是否有必要.我问这个是因为通过禁用它们来编译时间下降75%.

Jim*_*ham 10

首先,为了避免一些混淆:新iOS项目的Debug配置的默认调试信息格式是"带有dSYM文件的DWARF",但对于新的OS X项目,只是"DWARF".

部分内容是历史性的,但目前,iOS设置仍然是"带有dSYM文件的DWARF",因为Xcode的部分符号表示崩溃日志,因为它们是在iOS设备上复制的,因此使用dSYM.因此,如果您计划测试您的开发版本将其下载到设备,然后在调试器外部手指启动并执行它,那么使用dSYM可以方便地理解您遇到的任何崩溃.当然,如果你在调试器下运行,它只会在崩溃时停止,因此你不需要象征崩溃报告.

除此之外,我认为你没有失去任何转向DWARF for iOS的东西.正如SpaceDog指出的那样,由于调试器知道如何懒洋洋地连接它需要的DWARF,它确实加快了转换时间,而dSYM创建工具(dsymutil)必须读取并重写它.

当然,当你进行发布版本时,你想要制作和存档调试信息 - 这是dSYM的全部要点,因为否则调试信息(包含在.o文件中)将与其他中间版本一起被删除产品,您将无法象征您发布的应用程序中发生的崩溃.