解析奔潰日志.ips

有的時(shí)候線上版本會(huì)出現(xiàn)隱性Bug并且debug不能大概率復(fù)現(xiàn),造成難以斷點(diǎn)調(diào)試。這個(gè)時(shí)候測(cè)試會(huì)丟過(guò)來(lái)一個(gè).ips的文件包,需要手動(dòng)定位。

崩潰日志

準(zhǔn)備動(dòng)作

  • .ips文件后綴改成.crash

  • 發(fā)布版本的.app.dSYM文件。一定要是你產(chǎn)生報(bào)錯(cuò)日志的版本。獲取方式:Window -> Organizer 找到你發(fā)包版本 右鍵 show in Finder 。.xcarchive文件下顯示包內(nèi)容 dSYMs -> 獲取。

路徑
  • 新建的一個(gè)文件夾例如:Crash。將xxx.app.dSYM.crash放入新建的文件夾中。

打開終端

1:先獲取symbolicatecrash工具,

去如下路徑/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash去復(fù)制symbolicatecrash到crash文件夾內(nèi)。這個(gè)時(shí)候你crash文件夾內(nèi)有三個(gè)文件如下圖:
15459741693652.jpg

2:終端命令解析

  • cd到你的創(chuàng)建的crash文件夾

  • ./symbolicatecrash ./xxx.crash ./xxx.app.dSYM > log.crash (symbolicatecrash路徑 空格 .crash路徑 空格 .app.dSYM路徑 輸出log的crash格式文件)

可能會(huì)出現(xiàn)如下錯(cuò)誤:Error: "DEVELOPER_DIR" is not defined at /Users/snailchen/Desktop/crash/symbolicatecrash line 69.

  • xcode-select -print-path 檢查一下:如果不是/Applications/Xcode.app/Contents/Developer/則輸入export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer

  • 驗(yàn)證xcode-select -print-path

驗(yàn)證
  • 重復(fù)步驟2,會(huì)新生成一個(gè)log.crash文件

3:打開后就是一些堆棧的日志

這里我就不分析一些常見的bug了有興趣的可以去Google/Baidu一下:Watchdog timeout、User force-quitLow Memory termination等等
日志

如上圖可以定位到如下,可以看出這個(gè)錯(cuò)誤,上面只給出了一個(gè)內(nèi)容地址,連大概的錯(cuò)誤原因都沒有,一般情況下如果是數(shù)組越界,空值等等會(huì)顯示一個(gè)基本提示。但是就算如此也是不夠的,我們需要進(jìn)一步定位。

12  xxxx                        0x00000001001a20fc 0x100070000 + 1253628
13  xxxx                        0x00000001003fe9b0 0x100070000 + 3729840
14  xxxx                        0x00000001004ced48 0x100070000 + 4582728
15  xxxx                        0x00000001005e6608 0x100070000 + 5727752

進(jìn)一步定位

前往至發(fā)布版本的dSYMs文件夾下,顯示包內(nèi)容

路徑
我們 cd 到該文件目錄下
atos -arch arm64 -o xxxx 0x100070000 (xxxx:為你APP即如上圖的SDKTest)
這樣就定位到項(xiàng)目中的具體報(bào)錯(cuò)了 : 的.m 文件的69行。
定位

3:趕緊去解Bug吧。

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

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

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