iOS崩潰日誌,友盟崩潰日誌,奔潰定位

項目使用友盟統計bug,崩潰發生時友盟提供了發生崩潰的內存地址,接下來咱們經過內存地址定位問題代碼。
文章來自於個人簡書:原文在這裏php

1. 找到上傳版本的dSYM

dSYM的位置:
Xcode->Organizer->找到發生崩潰的版本(右鍵)-> Show in Finder,右擊Finder中的.xcarchive文件點顯示包內容,找到dSYMs目錄下的xxx.app.dSYM文件,繼續顯示包內容,找到Contents目錄下的Resources目錄下的DWARF目錄。bash

2. 將終端定位到DWARF目錄

在命令行輸入:cd DWARF目錄路徑app

cd /Users/circusjonathan/Library/Developer/Xcode/Archives/2017-04-27/HEKAI\ 2017-4-27\ 20.51.xcarchive/dSYMs/HEKAI.app.dSYM/Contents/Resources/DWARF 
複製代碼

3. 定位問題

一般咱們會在友盟的問題統計頁面看到相似這樣的錯誤信息工具

友盟崩潰信息

圖中藍色的字體,前面是項目名(HEKAI)的錯誤就是崩潰的內存地址
在終端執行如下命令:字體

atos -arch [項目設置的CPU Type] -o [項目名] [錯誤發生的內存地址] [項目名] + 255428ui

CPU Type 能夠在Build Setting中查看,友盟的錯誤信息裏面有這個信息,如上圖的左下角:(CPU Type: arm64)。CPU Type寫錯了會定位不到問題。spa

在Build Setting中查看CPU Type .net

在Build Setting中查看CPU Type

鍵入命令:命令行

atos -arch arm64 -o HEKAI 0x10003e5c4 HEKAI + 255428
複製代碼

回車就會定位到崩潰的地方
3d

定位崩潰在項目中發生的位置
上圖能夠看出,問題定位到了HKScanQRViewController.m文件的177行,發生問題的方法是nextStepEvent:,到此問題就定位好了,而後根據具體狀況消除問題。

可視化工具

在網上看到answer-huang開發了一個工具,專門用來快速定位崩潰日誌的代碼,工具特別好用,使用步驟以下:

1.將打包發佈軟件時的xcarchive文件拖入軟件窗口內的任意位置(支持多個文件同時拖入,注意:文件名不要包含空格)。
2.選中任意一個版本的xcarchive文件,右邊會列出該xcarchive文件支持的CPU類型,選中錯誤對應的CPU類型。
3.對比錯誤給出的UUID和工具界面中給出的UUID是否一致。
4.將錯誤地址輸入工具的文本框中,點擊分析。

經過可視化工具定位崩潰位置

工具使用說明:answerhuang.duapp.com/index.php/2…
工具下載連接:download.csdn.net/detail/toto…

相關文章
相關標籤/搜索