我們應(yīng)用上線后往往會遇到各種各樣的crash袭厂。其實(shí)當(dāng)你的app 在手機(jī)上crash的時候,會在手機(jī)上自動生成一個崩潰日志,也就是我們說的Crash Log拓春。CrashLog的位置位于:
iPhone設(shè)備的var/mobile/Library/Logs/CrashReporter
一、獲取崩潰日志的方法
1亚隅、通過?iTunes Connect
對于已經(jīng)上線的應(yīng)用硼莽,如果用戶同意上傳相關(guān)信息(具體操作為:打開了診斷與用量這個選項(xiàng)設(shè)置->隱私->診斷與用量?)。那么作為開發(fā)者煮纵,你想要獲取到你的用戶的崩潰日志的話就得通過?iTunes Connect?了懂鸵。在?iTunes Connect?上的?Manage Your Applications -> View Details -> Crash Reports偏螺。
2、獲取測試機(jī)的crash log
通過Xcode獲取到崩潰日志矾瑰,方法是Xcode->Window->Devices
3砖茸、通過友盟等第三方統(tǒng)計(jì)獲取
二、以友盟統(tǒng)計(jì)為例殴穴,如何分析崩潰日志
我們項(xiàng)目默認(rèn)都接了友盟統(tǒng)計(jì)凉夯,因此每天上班的第一個任務(wù)就是打開友盟查看崩潰信息。通常的崩潰信息是長這樣子的采幌。
步驟一劲够、乍一看日志,看不懂休傍。但我們將注意力放在高亮的那幾行征绎,這里就是出現(xiàn)crash的內(nèi)存地址。
步驟二磨取、當(dāng)我們點(diǎn)擊地址人柿,會彈出一個的提示窗。
步驟三忙厌、打開終端凫岖,進(jìn)入到??*.dSYM?文件 ?所在的文件夾。(.dSYM文件為每次編譯后自動生成逢净,為了方便應(yīng)用上線后定位錯誤哥放,備份好.dSYM文件是一個良好的習(xí)慣)
步驟四、將步驟二彈窗的后半句命令行復(fù)制到終端爹土,將后面的 ?“$dSYMPath”?替換成當(dāng)前*.dSYM?的路徑甥雕。以下是我的命令行:
dwarfdump --arch=arm64 --lookup 0x1002c9444 NewLingHit882.app.dSYM?
步驟五、找到崩潰代碼位置
三胀茵、通過第三方工具定位crash位置
除了終端定位錯誤位置外還能用一個第三方的工具dSYMTool協(xié)助定位到項(xiàng)目crash的代碼社露,這里附上dSYMTool。
只需將.dSYM文件拖入琼娘,并將錯誤內(nèi)存地址copy在對應(yīng)位置呵哨,即可快速找到對應(yīng)的方法。