天天看點

利用第三方工具dSYM快速定位crash檔案中崩潰的函數位置

原文轉自:點選打開連結

app上線之後程式崩潰資訊我們隻能通過crash檔案擷取崩潰資訊 , 但是crash檔案中的都是一些16進制的數表示函數位址的 . 

如下圖,根本不能直接看到具體程式崩潰在什麼地方 . 

利用第三方工具dSYM快速定位crash檔案中崩潰的函數位置

不用擔心 , 隻要你每次打包後.xcarchive檔案沒有删除就可以将16進制的函數位址轉換成直覺的函數方法名 .

在xcode中頂部菜單Window中點選organizer如下圖 , 右擊選擇在finder中檢視 , 即為.xcarchive檔案 .

利用第三方工具dSYM快速定位crash檔案中崩潰的函數位置

下面介紹如何轉化:

1 . 下載下傳工具dSYM , 下載下傳位址:dSYM.app (此app為GitHub開源項目 , 位址為:git位址 , 上面有也有原作者的說明)

2 . 打開dSYM , 如下圖:

利用第三方工具dSYM快速定位crash檔案中崩潰的函數位置

3 . 将.xcarchive檔案或者.xcarchive報内容中的.dSYM檔案拖入程式的最上方的框中 , 然後選中你拖入的檔案,在右側選擇編譯類型 , 如下圖 :

利用第三方工具dSYM快速定位crash檔案中崩潰的函數位置

然後在輸入第一個圖中的出錯的記憶體位址 , 點選分析 , 最下方的框中即顯示出了直覺的函數名 . 如下:

利用第三方工具dSYM快速定位crash檔案中崩潰的函數位置

最後介紹如何判斷所選擇的.xcarchive檔案或者.dSYM檔案是和crash檔案對應的 :

1 . 打開crash檔案找到其中的UUID(crash 檔案内第一行 Incident Identifier 就是該 crash 檔案的 UUID)

2 . 在dSYM程式中會顯示你拖入到程式中的.dSYM檔案或者.xcarchive檔案的UUID , 兩個UUID相同 , crash檔案即和.dSYM檔案想對應 .