iOS符號化崩潰日志

一般做項目的時候會碰到一些崩潰的情況。在非調試模式下沒有辦法判斷崩潰在哪里,只能通過崩潰日志來分析,如果崩潰日志在沒有符號化的情況下,都是顯示的一些內存信息,這樣我們就很難找到崩潰的原因。碰到這樣的情況我一般都用Xcode自己帶的工具來符號化崩潰日志。

準備工具

  • Xcode
  • dsym文件,應用安裝包,崩潰日志
  • 分析工具symbolicatecrash
  • 命令行工具

符號化崩潰日志

  1. 從設備里面導出崩潰日志

設備連接Xcode,打開菜單Window->Device(快捷鍵shift+command+2)選項,選中當前設備,點擊View ``Device Logs。如下圖所示:

FC9C28BD-0F57-4FF1-8A3D-F85AF87BF65C.png

點擊以后會出來當前設備的崩潰日志列表。默然選中的就是This Device(當前設備的崩潰日志),可以根據Date/Time找出崩潰的日志,然后在崩潰日志選項右鍵選擇Export Log導出當前的崩潰日志到指定的文件夾。

  1. 導出dsym、應用安裝包。

每次Archive成功,都會有對應的Archive文件生成,文件得路徑是/Users/用戶名/Library/Developer/Xcode/Archives/目錄下。找到對應的文件,打開就會看見對應的Archive文件,右鍵點擊該項目,然后點擊顯示包內容,就會看到對應的文件夾。dSYMsProducts這兩個文件夾里面的內容是我們所需要的。分別打開兩個文件夾,找到對應的.dSYM.app文件,把這兩個文件跟上一步導出的崩潰日志放在同一個文件夾中。

CA59C75A-70DF-41D7-A02D-2EB146D1AABC.png
  1. 符號化工具(symbolicatecrash)

本人用的是Xcode8,工具路徑是/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

如果路徑錯誤的話可以嘗試這個路徑:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash

找到對應的工具 可以復制一份放到桌面上下次方便使用。

  1. 打開終端(Terminal)

在終端里面打開步驟2中保存崩潰文件夾的路徑,然后輸入export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

然后處理命令行 /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash appName.app appName.crash > appName.log

然后符號化后的文件就在當前的文件夾中。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容