1、平常在开发的过程中,可能会有需要手动解析crash日志文件的情况,具体如何解析呢?
需要三个东西:
- crash日志文件
- 对应的dSYM文件
- symbolicatecrash工具文件
2、找到解析工具symbolicatecrash
打开终端,输入 find /Applications/Xcode10.2.app -name symbolicatecrash -type f
,我用的是Xcode10.2,返回的结果如下:1
2
3
4/Applications/Xcode10.2.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/Library/PrivateFrameworks/DVTFoundation.framework/symbolicatecrash
/Applications/Xcode10.2.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/Library/PrivateFrameworks/DVTFoundation.framework/symbolicatecrash
/Applications/Xcode10.2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/DVTFoundation.framework/symbolicatecrash
/Applications/Xcode10.2.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
直接找到最后一个,复制到一个文件夹
3、将dSYM文件和crash文件放到上面的文件夹里
4、检测dYSM文件和crash文件是否对应
dwarfdump --uuid xxx.app.dSYM
如果输出的uuid和crash文件中的一致,则可以解析出正确的crash文件。crash文件中的uuid位于Binary Images中的第一行尖括号内。
5、解析crash文件
./symbolicatecrash x.crash xxx.app.dSYM > crashLog.text
6、可能遇到的问题
第一次使用symbolicatecrash会产生一个error,如下的错误信息Error: "DEVELOPER_DIR" is not defined at /usr/local/bin/symbolicatecrash line 53.
解决办法是在命令行输入:export DEVELOPER_DIR='/Applications/Xcode10.2.app/Contents/Developer'