解析闪退日志之前需要准备的东西:
1.dSYM(debugging SYMbols)又称为调试符号表,
2.app(安装包)
3.symbolicatecrash(解析闪退程序)
-
在Xcode的Organizer中的Archivs 选择提交到AppStore上的一个版本。右键选择 “Show in Finder” 可以找到.xcarchive文件
-
从.xcarchive文件中找到.dSYM和.app文件
- 使用命令查找 symbolicatecrash 文件
find /Applications/Xcode.app -name symbolicatecrash -type f
在第三方比如友盟闪退日志收集中往往只有一些地址。这里有以下通过闪退地址来解析闪退日志
把 .dSYM, .app和symbolicatecrash文件放到一个文件夹中,并通过命令行进入该文件夹
dwarfdump --lookup 0x1000f0548 chexiaoxi.app.dSYM
//chexiaoxi是项目名字
解析结果:(结果好长好长)
或者执行
atos -o- chexiaoxi.app.dSYM/Contents/Resources/DWARF/chexiaoxi 0x1000f0548
可更直观直接看到结果,闪退是哪个类哪一行
除了第三方也可以直接使用symbolicatecrash程序解析闪退日志从Organizer -> Crashes中Show in Finder获取 .xccrashpoint文件,打开显示内容,可以获取 .crash文件.
复制.crash文件到和 .dSYM, .app,symbolicatecrash文件同级的目录,并改名xxx.crash,例如图片中的1.crash,2.crash(因为复制出来的.crash文件名字太长不方便命令行输入)
使用以下命令解析闪退日志
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer./symbolicatecrash 1.crash chexiaoxi.app > 1.log
可得到1.log文件,打开就可看到崩溃日志.