1.在桌面创建一个崩溃文件夹
2.首先找到symbolicatecrash工具存放的地址(Xcode显示包内容亦可找到)打开终端输入指令:
找到/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/ symboliccracked /用户/ XXX /桌面/崩溃
4.Xcode> Window>组织在档案中找到上传的应用程序 - 在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
出现错误:未在./symbolicatecrash第69行定义“DEVELOPER_DIR”。输入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详细崩溃信息对程序进行修复
补充: 例外类型:异常类型异常代码:异常出错的代码(常见代码有以下几种)
0x8badf00d错误码:看门狗超时,看门狗定时器超时导致吃不好的食物
0xbaaaaaad错误码:用户按住主页键和音量键,获取当前内存状态,不代表崩溃。
0xbad22222错误码:VoIP的应用被干掉。
0xc00010ff错误码:太热,“cool off”。
0xdead10cc错误码:在后台时仍然占据系统资源(通讯录)被干掉,意为“dead lock” 。0xdeadfa11错误码:用户强制退出,意为“dead fall”。触发Thread:在某个线程出了问题导致crash,Thread 0为主线程,其它的都为子线程
Last Exception Backtrace:最后异常回溯