創(chuàng)建crash文件夾:將Crash文件 乳规、 dSYM文件狗准、symbolicatecrash文件放在同一文件夾下
(以Xcode7.3為示例,其它較低版本路徑會有差異)
**dSYM: ** Window -> Organizer -> Archives 選中剛打包的文件 Show in Finder -> 顯示包內(nèi)容 -> dSYMs
symbolicatecrash:Xcode/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
(這個路徑找不到就在終端搜索,命令中注意對應(yīng)Xcode版本: find /Applications/Xcode7.3.app -name symbolicatecrash -type f)
最重要的事情---->對應(yīng)UUID
UUID:dSYM文件必須是上一次打包的 (打包時(shí)要備份)
**日志的uuid必須與dSYM文件的uuid一致(統(tǒng)一版本)**
查看dSYM的 UUID : dwarfdump --uuid genie.app.dSYM
查看日志的 UUID : grep --after-context=2 "Binary Images:" *crash
終端操作命令(注意在相應(yīng)的文件夾下處理):
1.設(shè)置導(dǎo)出的環(huán)境變量
export DEVELOPER_DIR=/Applications/Xcode7.3.app/Contents/Developer (后面的路徑注意要根據(jù)Developer實(shí)際路徑來設(shè)置)
2.解析Crash文件
./symbolicatecrash ./xxx.crash xxx.app.dSYM > xxx.txt (最后為自行設(shè)置的符號化出的文件名稱)
原理:一般來說可以從crash日志中獲取崩潰的函數(shù)地址信息,然后通過符號表dSYM文件(是內(nèi)存地址與函數(shù)名恃逻、文件名和行號的映射表)晶府,找到對應(yīng)的符號,symbolicatecrash相當(dāng)于一個腳本工具袜腥,用來執(zhí)行查找的命令。