dSYM文件
dSYM文件保存了调试信息的文件,方便App在线上用户使用时,发生Crash后,进行函数调用堆栈还原,定位Crash原因,文件名通常为:xxx.app.dSYM,文件通常可以通过Xcode进行查看,Window -> Organizer -> Archives -> 选择对应的Archives包 -> Show in Finder -> 选折对应的.xcarchive文件 -> 显示包内容 -> 打开dSYMs文件夹,找到对应的项目名.app.dSYM文件。所以通常我们应该为线上版本的app备份好Archives后的包。例如:
截屏2020-11-06上午10.50.34.png 截屏2020-11-06上午10.51.45.png 截屏2020-11-06上午10.54.12.png 截屏2020-11-06上午10.55.45.pngdSYM文件缺失的问题
要对打包App生成dSYM文件,需要在Xcode中进行正确的配置才行,如果配置错误,则可能照成dSYM文件缺失,从而无法进行Crash问题的定位,例如:
截屏2020-11-06上午11.02.42.png处理dSYM文件缺失
- 处理dSYM文件缺失通常需要检查Xcode中的两处配置,首先检查Project -> Build Settings下的Generate Debug Symbols配置是否设置为YES,如果为NO,则不会生成生成调试符号文件,也就不会生成xxx.app.dSYM文件。例如:
- 在确保Generate Debug Symbols配置为YES的情况下,还需要检查Project -> Build Settings下的Debug Information Format的值是否被设置为DWARF。如果是则需要修改为DWARF with dSYM File后再重新打包,才会生成新的dSYM文件。但如果Generate Debug Symbols配置为NO的情况下,即使Debug Information Format的值设置为DWARF with dSYM File也不会生成xxx.app.dSYM文件。例如:
注:Generate Debug Symbols开启后,进行Archives打包后,包的体积会变大。例如:
截屏2020-11-06上午11.18.04.png 截屏2020-11-06上午11.19.42.png进行Crash定位
进行Crash定位可以使用一款开源的工具dSYMTools,Git地址:https://github.com/answer-huang/dSYMTools
网友评论