極光錯(cuò)誤詳情
類似這種格式的 項(xiàng)目名 內(nèi)存地址 項(xiàng)目名+數(shù)字
我們需要使用其中的內(nèi)存地址
需要的資源:
項(xiàng)目打包上線時(shí)本地會(huì)生成有一個(gè)編譯文件如下圖:
然后對(duì)應(yīng)線上版本 打開所在文件夾 看到 這個(gè)下圖第一個(gè)文件
下圖第2岛杀、3個(gè)文件都在第一個(gè)文件中 請(qǐng)把他們都復(fù)制到一個(gè)單獨(dú)的文件夾存放這三個(gè)文件
開始查找錯(cuò)誤:
- 查看 xx.app 文件的 UUID叭莫,terminal 中輸入命令 :
dwarfdump --uuid xx.app/xx (xx代表你的項(xiàng)目名)
- 查看 xx.app.dSYM 文件的 UUID 此叠,在 terminal 中輸入命令:
dwarfdump --uuid xx.app.dSYM
- 如果UUID一致 則為同一版本 則進(jìn)行下一步
cd到三個(gè)文件的所在目錄下墨礁,執(zhí)行命令:
dwarfdump --arch=arm64 --lookup=[崩潰日志上項(xiàng)目對(duì)應(yīng)的某崩潰地址] [dSYM文件的絕對(duì)路徑]
(注意 如果路徑中存在空格 可用“”包含其完整路徑)
分析終端錯(cuò)誤日志
1炼蛤、這一行告訴我們崩潰的代碼所在的文件的目錄
Line table dir : '所在文件路徑'
2颈畸、這一行告訴我們崩潰代碼所在的具體文件
AT_decl_file( "路徑/類名" )
3伞访、這一行告訴我們崩潰代碼是在哪一個(gè)方法里面
AT_name( "方法名" )
4掂骏、這一行告訴我們崩潰代碼具體在哪一行了
Line table file: '類名' line 680, column 9 with start address 0x000000010073faf8
好的,現(xiàn)在我們分析到了崩潰代碼在哪一行了厚掷,下面我們來找一找bug
查找bug
我們的代碼都應(yīng)該有托管平臺(tái)弟灼,每個(gè)版本上線都需要打一個(gè)tag,這是一個(gè)好習(xí)慣冒黑。下面我拉下我崩潰的對(duì)應(yīng)版本的tag田绑,找到崩潰代碼那一行,然后解決就可以了 抡爹。