一、逐條分析
打開終端 輸入
cd /Users/tech-suanle/Desktop/testDSYM/MBuyGo.app.dSYM/Contents/Resources/DWARF
atos -arch arm64 -o MBuyGo 0x100cdee20
第一行進入APP 的 dSYM文件的DWARF目錄下
在XCODE編譯項目之后,會在app旁看見一個同名的dSYM文件。
他是一個編譯的中轉文件,簡單說就是debug的symbols包含在這個文件中。
第二行輸入上邊的內存地址,如果成功的話可以分析出錯誤所在的類和方法所在的行數
二、批量分析
- 導出錯誤列表
- 通過終端打開友盟錯誤分析工具+錯誤列表CSV文件
haha:~ jianxin.li$ /Users/xp/Desktop/YM/umcrashtool /Users/xp/Desktop/YM/ios麥樂購_錯誤分析_20160511165528.csv
保證dSYM文件在 ~/Library/Developer/Xcode/目錄下才可以
否則得到以下提示
>---------------------- Row 7 -----------------------<
=> Start *** setObjectForKey: object cannot be nil (key: orderId)
-> Please move dsym file: "31F4EE95-DFEE-39FB-80A1-3703D525E56C" to ~/Library/Developer/Xcode/.
=> End *** setObjectForKey: object cannot be nil (key: orderId)
>------------------------------------------------------<
- 得到結果并且生成分析完成的CSV文件(和錯誤分析工具及錯誤列表在同目錄下)
結果類似如下
>---------------------- Row 11 -----------------------<
=> Start Application received signal SIGSEGV
-> translating『 0xcb8889 』=>
-> translating『 0x1e6a39 』=> main MBuyGo/main.m: line 13
=> End Application received signal SIGSEGV
>------------------------------------------------------<