現(xiàn)在我們的項(xiàng)目中,一般會(huì)集成一些統(tǒng)計(jì)埋點(diǎn)工具阿弃,U盟統(tǒng)計(jì)诊霹、百度移動(dòng)統(tǒng)計(jì)、fabric...等等吧渣淳,除了一些需要統(tǒng)計(jì)的數(shù)據(jù)脾还、事件外,對(duì)于我們開(kāi)發(fā)者入愧,最重要的就是錯(cuò)誤崩潰的日志解析了鄙漏,而往往從這些日志中,很難直接定位到錯(cuò)誤的代碼棺蛛,在試驗(yàn)了很多方式之后怔蚌,我找到了最簡(jiǎn)單方便準(zhǔn)確的一種,分享給大家:
- 首先先上工具下載的傳送門:https://github.com/answer-huang/dSYMTools
【大神寫的旁赊,不是本人】 -
下載運(yùn)行裝到MAC上啟動(dòng)之后:
ED1DE647-55A9-49DE-8B64-02DBB4F75D64.png
簡(jiǎn)單解釋一下:
1??:錯(cuò)誤日志對(duì)應(yīng)的需要分析的 xcarchive文件【至于怎么下載我這里就不贅述了】桦踊,托到這里就行;
2??:CPU類型 這個(gè)在錯(cuò)誤日志下面可以找到终畅,一般是arm64籍胯;
3??: xcarchive文件對(duì)應(yīng)的UUID,這個(gè)完成2??之后會(huì)自動(dòng)顯示离福,注意:在錯(cuò)誤日志詳情下面也可以找到UUID 對(duì)比一下這兩個(gè)UUID 確認(rèn)這個(gè)xcarchive就是這個(gè)崩潰對(duì)應(yīng)的文件杖狼;
4??:元地址,這里默認(rèn)的是0x0000000100000000 我們需要修改术徊,在錯(cuò)誤日志詳情下面的ADDR本刽;【注意,一定要修改 不然無(wú)法正常顯示出 錯(cuò)誤的地方】
5??:錯(cuò)誤信息的內(nèi)存地址赠涮,就是偏移地址子寓,就是從這里定位到錯(cuò)誤的信息的,一般在錯(cuò)誤日志詳情下面的CoreFoundation之下笋除,UIKit只上的地址斜友,可能是多個(gè);
6??:上面填寫完畢之后垃它,點(diǎn)擊分析鲜屏,分析出的可能出現(xiàn)錯(cuò)誤的地方烹看;
具體對(duì)應(yīng)錯(cuò)誤日志如下圖:【以百度統(tǒng)計(jì)為例】
3.正常填寫之后,點(diǎn)擊分析就會(huì)出現(xiàn)錯(cuò)誤信息:
在項(xiàng)目中搜索一下定位出是第三方的數(shù)組越界問(wèn)題洛史,GG惯殊。
這樣就能徹底的定位到崩潰錯(cuò)誤的地方,當(dāng)然還有其他很多方法也殖,比如終端土思,但是異曲同工,這個(gè)是封裝成了工具忆嗜,我感覺(jué)很方便己儒。
如果還有什么疑問(wèn),歡迎留言捆毫,如果能幫到您闪湾,麻煩點(diǎn)個(gè)贊或者打賞激勵(lì)一下哦!