項目使用友盟統計bug,崩潰發生時友盟提供了發生崩潰的內存地址,接下來咱們經過內存地址定位問題代碼。
文章來自於個人簡書:原文在這裏php
dSYM
的位置:
Xcode->Organizer->找到發生崩潰的版本(右鍵)-> Show in Finder,右擊Finder中的.xcarchive文件點顯示包內容,找到dSYMs目錄下的xxx.app.dSYM文件,繼續顯示包內容,找到Contents目錄下的Resources目錄下的DWARF目錄。bash
在命令行輸入: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
複製代碼
一般咱們會在友盟的問題統計頁面看到相似這樣的錯誤信息工具
圖中藍色的字體,前面是項目名(HEKAI)的錯誤就是崩潰的內存地址
在終端執行如下命令:字體
atos -arch [項目設置的CPU Type] -o [項目名] [錯誤發生的內存地址] [項目名] + 255428ui
CPU Type
能夠在Build Setting中查看,友盟的錯誤信息裏面有這個信息,如上圖的左下角:(CPU Type: arm64)
。CPU Type寫錯了會定位不到問題。spa
在Build Setting中查看CPU Type .net
鍵入命令:命令行
atos -arch arm64 -o HEKAI 0x10003e5c4 HEKAI + 255428
複製代碼
回車就會定位到崩潰的地方
3d
在網上看到answer-huang開發了一個工具,專門用來快速定位崩潰日誌的代碼,工具特別好用,使用步驟以下:
1.將打包發佈軟件時的xcarchive文件拖入軟件窗口內的任意位置(支持多個文件同時拖入,注意:文件名不要包含空格)。
2.選中任意一個版本的xcarchive文件,右邊會列出該xcarchive文件支持的CPU類型,選中錯誤對應的CPU類型。
3.對比錯誤給出的UUID和工具界面中給出的UUID是否一致。
4.將錯誤地址輸入工具的文本框中,點擊分析。
工具使用說明:answerhuang.duapp.com/index.php/2…。
工具下載連接:download.csdn.net/detail/toto…