需要的文件
- crash日志-> 不管你从何而来,必须要有
- dSYM文件, 在编译的 xxx.app 文件中 就有
- symbolicatecrash 工具
symbolicatecrash工具的获取
终端输入, 要等一会儿 看看输出的几个 symbolicatecrash 地址
find /Applications/Xcode.app -name symbolicatecrash -type f
输出 ->很明显这里有三种(iPhong/watch/)
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/DVTFoundation.framework/symbolicatecrash
/Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/Library/PrivateFrameworks/DVTFoundation.framework/symbolicatecrash
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
选择iPhone的那个地址就行
检测是否对应的UUID命令
dwarfdump --uuid xxxx.app/xxxx
dwarfdump --uuid xxxxx.app.dSYM
以及crash日志的此处 -日志文件第一行就是
以上三个UUID都一样, 那么可以来分析了
命令如下:
symbolicatecrash路径 + crash日志路径 + dSYM文件路 > aaaa.crash
./symbolicatecrash /Users/xxxx/Desktop/crash/InOrder.crash /Users/xxxx/Desktop/crash/InOrder.app.dSYM > Control_symbol.crash
如果
终端可能会报错Error: “DEVELOPER_DIR” is not defined at /usr/local/bin/symbolicatecrash line 53 之类的
输入
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"
再重新执行
symbolicatecrash路径 + crash日志路径 + dSYM文件路 > aaaa.crash
就可以得到分析后的文件
分析前
分析后