IOS 崩潰日誌分析

Crazy巴旦木發表於2018-08-08

1.手機連線電腦,開啟Xcode的Devices列表,找到崩潰app的iphone。選中Device Logs,

找到app的崩潰。

2.如果是上架應用,可以從iTunes Content獲取到崩潰日誌,選擇Manage Your Applications,點選圖示下面的View Details,點右邊的Crash Reports。

讓我們看看崩潰日誌裡面包含了什麼:

①程式資訊

Incident Identifier是崩潰報告的唯一識別符號。

CrashReporter Key是與裝置標識相對應的唯一鍵值。

Hardware Model標識裝置型別。

Process是應用名稱。

②基本資訊

包含了崩潰時間,ios版本。

③異常

檢視到異常型別。

④執行緒回溯

這部分提供應用中所有執行緒的回溯日誌。一般這裡面就是崩潰原因,可以看到什麼方法崩潰,通過編譯後才能具體看到哪個類,哪個方法,哪行。

⑤執行緒狀態

這部分是閃退時暫存器中的值。

⑥ 二進位制映像

這部分列出了閃退時已經載入的二進位制檔案。

我們看到回溯時,全是些十六進位制看不懂什麼意思。將這些十六進位制地址轉化成方法名稱和行數的過程稱之為符號化。

從Xcode的Organizer視窗獲取崩潰日誌後過幾秒鐘,崩潰日誌將被自動符號化。 Xcode符號化崩潰日誌時,需要訪問與App Store上對應的應用二進位制檔案以及生成二進位制檔案時產生的 .dSYM 檔案。必需完全匹配才行。否則,日誌將無法被完全符號化。

在發現崩潰日誌時,如果有相匹配的.dSYM檔案和應用二進位制檔案,Xcode會自動對崩潰日誌進行符號化。

注意:你必需同時保留應用二進位制檔案和.dSYM檔案才能將崩潰日誌完整符號化。每次提交到iTunes Connect的構建都必需歸檔。

.dSYM檔案和二進位制檔案是特定繫結於每一次構建和後續構建的,即使來自相同的原始碼檔案,每一次構建也與其他構建不同,不能相互替換。

符號化Symbolication https://possiblemobile.com/2015/03/symbolicating-your-ios-crash-reports/

相關文章