symbolicatecrash是Xcode自帶的一個(gè)分析工具,可以通過機(jī)器上的崩潰日志和應(yīng)用的.dSYM文件定位發(fā)生崩潰的位置,把crash日志中的一堆地址替換成代碼相應(yīng)位置。
(一)獲取崩潰日志
1.從iOS設(shè)備中導(dǎo)出崩潰日志.
當(dāng)一款A(yù)pp軟件在iOS設(shè)備上崩潰時(shí),一份"crash report"將會(huì)自動(dòng)創(chuàng)建并存儲(chǔ)在設(shè)備上。
1.1崩潰日志存儲(chǔ)的位置
iOS8之前:設(shè)置-->通用-->關(guān)于本機(jī)-->診斷與用量-->診斷與用量數(shù)據(jù).
iOS8之后:設(shè)置-->隱私-->診斷與用量-->診斷與用量數(shù)據(jù).
1.2從設(shè)備中導(dǎo)出崩潰日志(iTunes)
mac電腦連接iOS設(shè)備,讓iTunes備份iOS設(shè)備數(shù)據(jù),備份完成后崩潰日志存儲(chǔ)在mac電腦中(位置:用戶/資源庫(kù)(Library)/Logs/CrashReporter/MobileDevice)。

圖片1.jpeg
2.通過Xcode導(dǎo)出AppStore的崩潰日志.
2.1首先登錄Apple賬戶

圖片2.jpeg
2.2再導(dǎo)出AppStore崩潰日志(Window-->organizer)
位置(用戶/資源庫(kù)(Library)/Developer/Xcode/Products)

圖片3.jpeg

圖片4.jpeg
(二)使用symbolicatecrash轉(zhuǎn)化崩潰日志。
在轉(zhuǎn)化崩潰日志之前需要三個(gè)文件:崩潰日志/symbolicatecrash文件/.dSYM文件
1.1獲取symbolicatecrash文件
在終端中輸入命令:
<code>find /Applications/Xcode.app -name symbolicatecrash -type f.</code>
根據(jù)終端返回的路徑找到文件。

圖片5.jpeg
3.2獲取.dSYM文件(Window-->organizer)

圖片6.jpeg

圖片7.jpeg
下面轉(zhuǎn)化崩潰日志
在桌面建立一個(gè)crashReport的文件夾,將崩潰日志,symbolicatecrash文件和.dSYM文件放入文件夾。打開終端進(jìn)入桌面crashReport文件夾,再在終端依次輸入下面命令
<code>
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
./symbolicatecrash ./.crash ./.app.dSYM > symbol.crash</code>
成功后crashReport文件夾會(huì)生成symbol.crash文件,這個(gè)文件就是轉(zhuǎn)化后的文件。
轉(zhuǎn)化前:

圖片8.jpeg
轉(zhuǎn)化后:

圖片9.jpeg
注:
1.通過Xcode導(dǎo)出的AppStore崩潰日志其實(shí)是一個(gè)文件夾,可以通過顯示包內(nèi)容找到崩潰日志。

圖片10.jpeg

圖片11.jpeg
2..dSYM文件要使用上線時(shí)打包中的那個(gè).dSYM文件。