友盟上統(tǒng)計的崩潰信息太少,根本看不懂到底是哪行出錯,要想定位就要借助工具來分析,下面是在網(wǎng)上搜集到的定位崩潰信息的方法,做了下整理。
1.DSYM文件分析工具
dSYM是保存16進(jìn)制函數(shù)地址映射信息的中轉(zhuǎn)文件,會把debug的symbols包含在這個文件中,每次編譯都會有一個新的dSYM文件。他有什么作用? 當(dāng)release的版本 crash的時候,會有一個日志文件,包含出錯的內(nèi)存地址, 使用symbolicatecrash工具能夠把日志和dSYM文件轉(zhuǎn)換成可以閱讀的log信息,也就是將內(nèi)存地址,轉(zhuǎn)換成可讀的函數(shù)名和文件名,從而定位到錯誤的地方。
dSYM工具
1.將打包時的xcarchive文件拖入軟件窗口內(nèi)(文件名不包含空格)
2.選中xcarchive文件,右邊會列出該xcarchive文件支持的CPU類型,選中錯誤對應(yīng)的CPU類型.
3.對比錯誤給出的UUID和工具界面中給出的UUID是否一致
4.將錯誤地址和Slide Address 輸入工具的文本框中,點(diǎn)擊分析
5.可以定位出文件名方法名和崩潰的行數(shù)。
以上方法可以解決掉大部分的問題,但也有一些定位不到,可以用下面的方法解決:
在終端輸入:
dwarfdump --arch=arm64 --lookup 錯誤內(nèi)存地址 .xcarchive的路徑/dSYMs/工程名.app.dSYM/Contents/Resources/DWARF/工程名
在結(jié)果中找到Line table file:錯誤位置