友盟崩潰日誌解析(2016.06.08)

weixin_33936401發表於2016-06-08

今天說下折磨了整整半天的問題, 就是友盟錯誤解析, 以前並沒有弄過, 我這次也是第一次弄, 領導要結果,沒辦法,可是解決中發現了不少問題,很多人的部落格過於粗糙,讓人一下看不懂, 所以走了不少彎路, 也浪費了很多時間

首先, 我的專案中, 報了兩個crash, 如下圖:

1320025-4df92d89558d9c71.png
圖一

我們打眼一看, 第二個crash肯定是在哪個程式碼裡的問題

所以我們先解決第二個crash
  • 1 進入之後,顯示的資訊是這樣的:
1320025-6660bd95268c1189.png
圖二
  • 2 想找到引起這個崩潰的具體的位置, 其實只要找到你打包時生產的archives檔案
    具體如下:
    前往-> /Users/你的使用者名稱/Library/Developer/Xcode/Archives
  • 3 你會發現有日期的資料夾, 你這個引起崩潰的APP的版本的釋出日期, 根據日期找到那個版本的資料夾, 進去後會發現.xcarchive的檔案, 顯示包內容,
1320025-63ef81ca6a5d56db.png
圖三
  • 4 找到箭頭所指的這個檔案後繼續顯示包內容,一步一步找到下面的檔案 這個檔案的名字和你的專案名字是相同的


    1320025-ff7af2d90f1f0edb.png
    圖四
  • 5 找到這個檔案後就好說了, 回到你的友盟頁面, 在圖二, 箭頭所指的地址上點選, 會出現如下圖的顯示:

1320025-73afde84222d4154.png
圖五

畫橫線的這一句白色的程式碼複製, 這個地址就是你發生崩潰的地址, 下面將要解析這個地址

  • 6 開啟終端 輸入第5步複製的那段白色的程式碼, 並且空格, 然後把第4步找到的那個檔案拖拽到終端上,就會顯示出這個檔案的路徑, 我的顯示如下:
1320025-2aebfdc585e1ae47.png
圖六
  • 7 回車後顯示如下, 這裡line table dir 的地方顯示出崩潰的路徑 line table file 顯示的是檔名 line 126 column 21 表示第126行21列, 只不過我這裡顯示的問題出現在百度推送上


    1320025-74c4520ebd47e0bb.png
    圖七
  • 8 如果你顯示的是你自己的程式碼,那麼就找到那個地方修改他

第一個crash的解決方法

我親試過, 利用第二個的方法並不適用, 按照上面的步驟來,會最終定位不到,顯示如下圖:

1320025-6fc74e9604bcb121.png
圖八

所以經過搜尋, 我換了一種方式:

  • 1 在圖三中, 我們找到的那個檔案, 我們建立一個資料夾給他拷貝到裡面, 在圖三products資料夾下找到箭頭所指的這個檔案, 同樣把這個檔案拷貝到資料夾裡面,


    1320025-79dc9fc76caf7032.png
    圖九
  • 2 你打包上傳到AppStore時的同版本.ipa 的那個檔案, 也給他拷貝到資料夾中, 最後你的資料夾中應該有這三個檔案

1320025-6196ed2a77c49ec4.png
圖十
  • 3 進入友盟介面, 找到第一個crash, 並進入, 有如下顯示, 拷貝箭頭鎖著的這個綠色的地址
1320025-24cf46e4a0fbf218.png
圖十一
  • 4 開啟你的終端, cd + 空格 進入到剛才建立的這個資料夾
    輸入: xcrun atos -arch armv64 -o xxxxxx.app/xxxxxx 0x1001a81cc 並回車
    其中,
  • 1 : armv64 是圖十一中CPU Type 的型別, 如果你這裡顯示的是arms7 ,那麼就改為你顯示的,
  • 2 : xxxxx是你的APP的名稱
  • 3 : 0x1001a81cc是剛才你複製的綠色異常的地址, 我這裡顯示為0x1001a81cc
  • 5 回車後會顯示如下圖, 畫橫線的就是指示出崩潰的地方


    1320025-3178a14af7e6cd14.png
    圖十二

如果你的顯示結果也和我的一樣,顯示UmengSignalHandler的話, 我檢視了友盟的論壇
結果如下:

如果是UmengSignalHandler忽略即可,UmengSignalHandler 不是錯誤,是捕捉crash的方法,本身不引起crash, 當crash發生時由它來捕捉

備註: 其實在我嘗試解析友盟錯誤的時候, 也嘗試了使用工具來解析,網上也很多教程,
下面的連結是另一位博主貼出的:

dSYM 檔案分析工具
http://answerhuang.duapp.com/index.php/2014/07/06/dsym_tool/
這是這位博主answer-huang開發了一個工具,專門用來快速定位崩潰日誌的程式碼。感謝這位仁兄的提供這麼方便的工具。
工具程式碼還是開源的:https://github.com/answer-huang/dSYMTools
工具下載地址:http://pan.baidu.com/s/1bnkxPvT
百度網盤的下載地址容易失效,csdn下載地址,當然是免積分下載了。
地址:http://download.csdn.net/detail/totogo2010/8012367

只不過我個人根據上面的地址下載了第一個版本的解析工具時並沒有像他講解的那樣顯示出介面, 並且點選後會崩潰, 而最新版本的解析工具下載後打不開, 有人說可能是mac電腦最新的系統的原因, 你也可以嘗試用上面的解析工具, 如果你知道我的這個問題能怎麼解決, 歡迎您留言

相關文章