什么是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應用程序, 右擊它選中 "顯示包內容" ,之后根據下面提供的路徑
Xcode8.0:
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources
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" 文件夾里面.
1.png
2.png
3.png
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的控制臺輸出的內容一樣了!
你應該看到的是這樣的
have fun
文/奸人堅(簡書作者)
原文鏈接:http://www.lxweimin.com/p/e428501ff278
著作權歸作者所有,轉載請聯系作者獲得授權,并標注“簡書作者”。