解析dSYM文件

全文概要:

1.如何定位bug

2.如何設(shè)置全局斷點

3.如何導出dSYM文件

4.崩潰分析,解析dSYM文件


一.當app在運行中崩潰了,我們?nèi)绾味ㄎ挥袉栴}的代碼

????有2種方式:

????????1.在Xcode中打全局斷點,重新run一次,復現(xiàn)崩潰,Xcode會自動跳轉(zhuǎn)到有問題的代碼那一行;

????????2.當線上app運行時通過dSYM文件定位bug。


二.如何設(shè)置全局斷點

? ? 1.在Xcode的左側(cè)導航區(qū),點擊左方又尖的圖標->點擊左下角的加號->選擇Exception BreakPoint,如圖1.1:


1.1

????2.選擇后會彈出提示框如圖1.2,點擊空白處提示框就會消失,這樣就設(shè)置好了全局斷點,如果有其它斷點需求,可以自行點擊選項進行設(shè)置。?

1.2

三.每 Archive 一次,都會生成 dSYM 文件,如何導出 dSYM 文件

? ? 1.找到Xcode工具欄->Window->Organizer->目標項目->右鍵 Show in Finder -> 顯示包內(nèi)容-> dSYMs 中的 xx.app.dSYM 就是我們要找的 dSYM 文件,如圖2.1:

2.1

四.崩潰分析

? ?1.需要三個文件:崩潰時產(chǎn)生的Crash文件(本文將它命名為 crash )、打包時產(chǎn)生的 dSYM 文件、symbolicatecrash(Xcode自帶的崩潰分析工具),建一個文件夾把上述3個文件放到這個文件夾中,文件夾的名字可以任意命名,我在這里命名為 Crash;

? ? 注:命令行查找?symbolicatecrash 路徑的命令:find /Applications/Xcode.app -name symbolicatecrash -type f

? ? 2.用命令行解析文件:

? ? ? ? 2.1. 先切換到 Crash 文件目錄, 輸入cd ,然后將 Crash 文件拖入命令行,再按回車鍵;

? ? ? ? 2.2.設(shè)置環(huán)境變量:exportDEVELOPER_DIR=/Applications/XCode.app/Contents/Developer 或?export DEVELOPER_DIR=$(xcode-select --print-path),兩句的作用是一樣的,哪一句都可以。這一句命令是非必須的,可以跳過這一步直接執(zhí)行2.3,當2.3執(zhí)行不成功時再執(zhí)行這一步。也可以先執(zhí)行這一步,更保險一些,如圖3.1:


3.1

? ? ? ? 2.3使用命令解析Crash文件:

? ??????????symbolicatecrash 路徑 + crash 路徑 + dSYM 路徑 + ">" 解析后生成的文件名。

? ? ? ? ? ? 注:在命令行中寫的時候不需要 + 和 "",解析后生成的文件名隨便取,本文取名"symbol.txt"

? ? ? ? ? ? 例:./symbolicatecrash ./crash ./Demo.app.dSYM > symbol.txt, 如圖3.2


3.2

此時在看Crash文件中就會發(fā)現(xiàn)多處一個?symbol.txt 文件,這個文件就是我們所需要的解析過的崩潰信息文件。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 開發(fā)的App或者游戲提交審核后,偶爾會收到測試反饋的消息,說應用崩潰了,bug偶爾出現(xiàn),難以找到確定的重現(xiàn)方法。怎...
    sky_kYU閱讀 1,517評論 0 0
  • 前言 iOS崩潰是讓iOS開發(fā)人員比較頭痛的事情,app崩潰了,說明代碼寫的有問題,這時如何快速定位到崩潰的地方很...
    齊滇大圣閱讀 65,888評論 29 443
  • 如果大家是用真機在調(diào)試的過程中出現(xiàn)了Crash,那么請看iOS調(diào)試之 crash log分析 前言 導讀:Unde...
    KODIE閱讀 6,607評論 7 12
  • LLVM簡介 XCode4.0以后,LLVM是構(gòu)架編譯器(compiler)的框架系統(tǒng),以C++編寫而成,用于優(yōu)化...
    苦工閱讀 10,067評論 1 16
  • 該文章屬于劉小壯原創(chuàng),轉(zhuǎn)載請注明:劉小壯[http://www.itdecent.cn/u/2de707c93d...
    劉小壯閱讀 38,080評論 45 121

友情鏈接更多精彩內(nèi)容