iOS 使用dsym分析友盟錯(cuò)誤日志

項(xiàng)目中使用了友盟統(tǒng)計(jì),所以就可以用友盟收集錯(cuò)誤日志,如果單從錯(cuò)誤日志看,我們很難定位錯(cuò)誤代碼的位置,修改bug很不方便,這時(shí)候我們使用 dSYM 文件分享工具就可以很方便的定位錯(cuò)誤代碼位置了。

什么是 dSYM 文件:

Xcode編譯項(xiàng)目后,我們會(huì)看到一個(gè)同名的 dSYM 文件,dSYM 是保存 16 進(jìn)制函數(shù)地址映射信息的中轉(zhuǎn)文件,我們調(diào)試的 symbols 都會(huì)包含在這個(gè)文件中,并且每次編譯項(xiàng)目的時(shí)候都會(huì)生成一個(gè)新的 dSYM 文件,位于/Users/<用戶名>/Library/Developer/Xcode/Archives目錄下。

dSYM 文件有什么作用

當(dāng)我們軟件 release 模式打包或上線后,不會(huì)像我們?cè)?Xcode 中那樣直觀的看到用崩潰的錯(cuò)誤,這個(gè)時(shí)候我們就需要分析 crash report 文件了,iOS 設(shè)備中會(huì)有日志文件保存我們每個(gè)應(yīng)用出錯(cuò)的函數(shù)內(nèi)存地址,通過(guò) Xcode 的 Organizer 可以將 iOS設(shè)備中的 DeviceLog 導(dǎo)出成 crash 文件,這個(gè)時(shí)候我們就可以通過(guò)出錯(cuò)的函數(shù)地址去查詢 dSYM文件中程序?qū)?yīng)的函數(shù)名和文件名。大前提是我們需要有軟件版本對(duì)應(yīng)的 dSYM 文件,這也是為什么我們很有必要保存每個(gè)發(fā)布版本的 Archives文件了。

分析錯(cuò)誤日志需要用到的:

1. 發(fā)布時(shí)的編譯出來(lái)的.xcarchive文件,這個(gè)文件包含了.DSYM文件。

.xcarchive文件在哪呢?打開(kāi)XCode->菜單Window->Organizer,在編譯成功的文件上右鍵,show in finder 就行了。

2. dsym文件分析工具:需要下載使用

下面我們就可以分析了,如圖所示


圖1-1 友盟錯(cuò)誤日志信息

然后,我們打開(kāi)dsym文件分析工具:

1.將打包發(fā)布軟件時(shí)的xcarchive文件拖入軟件窗口內(nèi)的任意位置(支持多個(gè)文件同時(shí)拖入,注意:文件名不要包含空格)

2.選中任意一個(gè)版本的xcarchive文件,右邊會(huì)列出該xcarchive文件支持的CPU類型,選中錯(cuò)誤對(duì)應(yīng)的CPU類型。

3.對(duì)比錯(cuò)誤給出的UUID和工具界面中給出的UUID是否一致。

4.將錯(cuò)誤地址輸入工具的文本框中,點(diǎn)擊分析。

如圖2所示:


圖1-2 分析結(jié)果

從圖1-2中可以看到,錯(cuò)誤代碼可能在XXX.m文件中的第50行,這時(shí)候我們就可以方便的修改了。

參考引用: http://answerhuang.duapp.com/index.php/2014/07/06/dsym_tool/?

http://blog.csdn.net/totogo2010/article/details/39892467

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容