1.在桌面创建一个crash文件夹
2.首先找到symbolicatecrash工具存放的地址(Xcode显示包内容亦可找到) 打开终端输入指令:
find /applications/Xcode.app -name symbolicatecrash -type f
稍等片刻得到地址:/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
3.用命令将symbolicatecrash拷贝到桌面的crash文件夹里 cp /Applications/Xcode.app/Contents/Developer/Platforms/iphoneOS.platform/Developer/Library/PRivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources /symbolicatecrash /Users/XXX/Desktop/crash
4.Xcode>Window>Organize在Archives找到上传的App-右击-Show in Finder 右击后显示包内容 复制ProjectName.app和ProjectName.app.dSYM到crash文件夹里
5.校验ProjectName.app、ProjectName.app.dSYM、crashLog.txt 的UUID是否一致
dwarfdump --uuid ProjectName.app/ProjectName
dwarfdump --uuid ProjectName.app.dSYM 崩溃日志的UUID 在 Binary Images: 下第一行 ProjectName arm64 后
6.终端输入
./symbolicatecrash /Users/XXX/Desktop/crach/crashLog.txt /Users/XXX/Desktop/crach/ProjectName.app.dSYM > crashLogEnd.crash
出现 Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69. 输入 export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
后再次输入
./symbolicatecrash /Users/XXX/Desktop/crach/crashLog.txt /Users/XXX/Desktop/crach/ProjectName.app.dSYM > crashLogEnd.crash
最后可以根据crashLogEnd.crash详细崩溃信息对程序进行修复
补充:Exception Type: 异常类型Exception Codes: 异常出错的代码(常见代码有以下几种)
0x8badf00d错误码:Watchdog超时, 看门狗定时器超时导致 Ate Bad Food
0xbaaaaaad错误码:用户按住Home键和音量键,获取当前内存状态,不代表崩溃。
0xbad22222错误码:VoIP应用被干掉。
0xc00010ff错误码:太热, “cool off”。
0xdead10cc错误码:在后台时仍然占据系统资源(通讯录)被干掉,意为“dead lock”。 0xdeadfa11错误码:用户强制退出,意为“dead fall”。Triggered by Thread: 在某一个线程出了问题导致crash,Thread 0 为主线程、其它的都为子线程
Last Exception Backtrace: 最后异常回溯新闻热点
疑难解答