一、逐條分析
打開(kāi)終端 輸入
cd /Users/tech-suanle/Desktop/testDSYM/MBuyGo.app.dSYM/Contents/Resources/DWARF
atos -arch arm64 -o MBuyGo 0x100cdee20
第一行進(jìn)入APP 的 dSYM文件的DWARF目錄下
在XCODE編譯項(xiàng)目之后,會(huì)在app旁看見(jiàn)一個(gè)同名的dSYM文件办悟。
他是一個(gè)編譯的中轉(zhuǎn)文件,簡(jiǎn)單說(shuō)就是debug的symbols包含在這個(gè)文件中。
第二行輸入上邊的內(nèi)存地址盏道,如果成功的話可以分析出錯(cuò)誤所在的類和方法所在的行數(shù)
二、批量分析
- 導(dǎo)出錯(cuò)誤列表
- 通過(guò)終端打開(kāi)友盟錯(cuò)誤分析工具+錯(cuò)誤列表CSV文件
haha:~ jianxin.li$ /Users/xp/Desktop/YM/umcrashtool /Users/xp/Desktop/YM/ios麥樂(lè)購(gòu)_錯(cuò)誤分析_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)
>------------------------------------------------------<
- 得到結(jié)果并且生成分析完成的CSV文件(和錯(cuò)誤分析工具及錯(cuò)誤列表在同目錄下)
結(jié)果類似如下
>---------------------- Row 11 -----------------------<
=> Start Application received signal SIGSEGV
-> translating『 0xcb8889 』=>
-> translating『 0x1e6a39 』=> main MBuyGo/main.m: line 13
=> End Application received signal SIGSEGV
>------------------------------------------------------<