Xcode崩潰日誌分析工具symbolicatecrash用法

什麼是symbolicatecrash

symbolicatecrash是Xcode自帶的一個分析工具,可以通過機器上的崩潰日誌和應用的.dSYM文件定位發生崩潰的位置,把crash日誌中的一堆地址替換成代碼相應位置。

爲什麼要用symbolicatecrash

開發者調試錯誤只需要有真機,並且連接到xcode上,就可以跟蹤發現錯了。

但是如果你的APP不是安裝在你自己的真機上,比如你的APP發佈到App Store(客戶下載後你如何跟蹤你的APP在他們的機器上?)這時候就要用到symbolicatecrash。

當一款APP軟件在IOS設備上崩潰的時候,一份“crash report”將會自動創建並且存儲在設備上。crash report描述了APP崩潰的日誌。在大多數情況下,包括對每個線程執行一個完整的堆棧跟蹤,查看該日誌對於APP崩潰調試非常有用。

如何查看iphone上的崩潰日誌

// ios8之前
設置
通用
關於本機
診斷與用量
診斷與用量數據

// iOS 8
設置
隱私
診斷與用量
診斷與用量數據

如何同步設備日誌到我們的mac上

如果是其他用戶並且是APP Store下的APP,需要用戶在'如何查看iphone上的崩潰日誌'中,將《自動發送》開啓,打開《與應用開發者共享》,這樣用戶的APP崩潰後,會提示發送崩潰日誌到開發者,開發者就可以在iTunes Connect中下載這些崩潰日誌。 如果是手中的真機 直接將IPHONE連接到iTunes,打開 xcode->window->devices ,導出你需要的崩潰日誌即可 

導入步驟

如何使用symbolicatecrash分析崩潰日誌

Step 1:在你的MAC桌面創建一個新文件夾,並且命名爲"CrashReport"

Step 2:打開前往應用程序,找到 Xcode 應用程序, 右擊它選中 “顯示包內容” ,之後根據下面提供的路徑

Xcode6.0之前:

"Contents->Developer->Platforms->iPhoneOS.platform->Developer->Library->PrivateFrameworks->DTDeviceKit.framework->Versions->A->Resources"

OR

"Contents->Developer->Platforms->iPhoneOS.platform->Developer->Library->PrivateFrameworks->DTDeviceKitBase.framework->Versions->A->Resources"

Xcode6.0之後

改成 "Contents/SharedFrameworks"

實在找不到可以打開終端輸入 find /Applications/Xcode.app -name symbolicatecrash -type f ,然後終端會返回這個文件的路徑 

只要找到"symbolicatecrash" 文件, 複製然後粘貼到剛纔創建的 “CrashReport” 文件夾裏面.

Step 3: 從Xcode Archive的二進制文件中找到.dSYM文件和.app文件拷貝到剛纔創建的 “CrashReport” 文件夾裏面.

Step 4:打開終端進入CrashReport文件夾,依次輸入以下命令行:

cd /Users/username/Desktop/CrashReport

export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer

./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash

這時候終端將會進行處理……

處理結果是生成一個新的文件symbol.crash。然後打開這個文件。

你就會看到日誌跟我們調試APP的控制檯輸出的內容一樣了!

發佈了8 篇原創文章 · 獲贊 6 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章