通過我們得到的.crash文件,通過symbolicatecrash工具可以轉(zhuǎn)化成定位項目crash的原因,這種轉(zhuǎn)化方式也叫符號化,直接上我的解決辦法,有更好的硝烂,或者我的地方有錯誤的歡迎指正箕别,有問題可以留言,或者加我QQ :838090008 備注哦~~~
1.首先找到你項目打包對應(yīng)版本的xcarchive文件滞谢,右鍵顯示包文件串稀,找到dSYMs文件下的**.app.dSYM文件,和application文件夾中的圖1.1中的文件
2.講第一步的**.app.dSYM文件和.app文件放入桌面新建的crash文件中(你可以叫任何名字)狮杨,接下來是導(dǎo)入symbolicatecrash工具到crash文件中的命令
-----1)打開終端輸入以下命令:
find /Applications/Xcode.app -name symbolicatecrash -type f
你會找到:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/./symbolicatecrash
-----2)用命令將symbolicatecrash拷貝到桌面的crash文件夾里面母截,與.app和.app.dSYM放一起
cp??/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash /Users/angel/Desktop/crash
-----3)再導(dǎo)入你的.crash文件,這樣一共有四個文件了
3.命令行解析
1.打開終端用命令切換到桌面的crash目錄下:
cd /Users/你的電腦名稱/Desktop/crash
2.執(zhí)行命令
./symbolicatecrash /Users/你的電腦名稱/Desktop/crash/你的crash文件名字.crash /Users/你的電腦名稱/Desktop/crash/你對應(yīng)的名字.app.dSYM > 解析結(jié)果.crash
如果終端報錯Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.
那么執(zhí)行??export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
繼續(xù)2的命令即可
3.執(zhí)行dwarfdump?--lookup?0x000cf358?--arch?arm-64 appname.app.dSYM/
0x000cf358這個串在上一命令得到的(解析結(jié)果.crash)文件中橄教,搜索Thread 0 name:? Dispatch queue: com.apple.main-thread這個串會比較快的找到所需要的0x000cf358清寇,如圖1.3;
arm-64這個格式在.crash文件的最上面护蝶,如圖1.4
終端輸入結(jié)果如下:
crash的問題看下面的輸出
剩下的就自己定位嘍