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