iOS應用crash日志分析
解析crash日志,得到可疑代碼,精確到類,代碼行;
1. 首先,拿到手機上 崩潰後的crash日志,方法許多,這裡介紹一種;
手機連接上xcode,點擊xcode-Window-Devices,如下圖所示,找到對應時間點,對應應用產生的crash日志信息,選中,右鍵,選擇Export Log,將它保存至某目錄下,這樣就得到 crash日志文件“應用名+時間+log.crash”;
1.jpg
2.jpg
2. 其次,拿到應用打包時生成的.xcarchive文件,如何找到它:
xcode-Window-Organizer,打開後,可以看到所有打過包的Archives列表,找到崩潰包對應的 Archives文件,右鍵選擇 show in finder,此文件為 " 應用名+時間.xcarchive";
3. 注意,將第1步和第2步得到的 兩個文件放到同一目錄下吧;
4. 打開mac上終端,輸入命令行,此命令行執行的結果為 對應的類文件名稱+出錯的代碼行號,一般來說,是相當精確的。。
atos -o 文件1 -arch arm64 -l 地址1 地址2
運行後,結果為 如下所示,類名,代碼行號信息,對於定位出crash原因就相當簡潔了。
4.png
命令行中 :
文件1 的來歷:
選擇文件 " 應用名+時間.xcarchive"--右鍵--顯示包內容--"dSYMs"--"應用名.app.dSYM"--"Contents"--"Resources"--"DWARF"--"應用名" ;---這個“應用名”就是文件1,將它直接拖到 終端上即可;
地址1、地址2 的來歷:
雙擊打開文件 “應用名+時間+log.crash”--找到 Last Exception Backtrace,最後的異常堆棧信息,在裡面的信息裡找到 崩潰應用的名稱相關的日志;
如下圖所示,紅框處為崩潰應用名稱,後面的紅箭頭所指地址為 地址1,藍箭頭所指為 地址2;
3.jpg