iOS symbolicatecrash工具crash日志分析


工作了就懶了,好久沒寫博客了。其實最近也解決了不少可以記錄的問題,只是太懶了。。。以后慢慢補上吧。

今天記錄一下iOS里面如何分析crash日志,因為在公司app打包給測試人員測試之后,經常會有crash,之前一直也沒去管那種偶然的crash,最近項目快結束了,偶然的crash也得解決,昨天花了點時間算是把這個研究了一下。

1.crash分析需要准備的文件:

1>crash日志

2>dSYM文件

3>app文件

4>symbolicatecrash工具

 

2.iOScrash日志獲取的方法:

1>如果是自己真機測試的時候出現crash的話,可以打開xcode->Window->Devices 點擊你的設備,export出crash日志。

2>如果是需要測試人員收集的日志的話,可以通過iTools工具獲取,也很簡單。這種方法獲取的是.ips文件,改成.crash就行了。

其余的獲取方法我還沒有使用過。。以后補上。

 

3.dSYM文件和app文件:(網上轉)Xcode編譯項目后,我們會看到一個同名的 dSYM 文件,dSYM 是保存 16 進制函數地址映射信息的中轉文件,我們調試的 symbols 都會包含在這個文件中,並且每次編譯項目的時候都會生成一個新的 dSYM 文件,位於 /Users/<用戶名>/Library/Developer/Xcode/Archives 目錄下,對於每一個發布版本我們都很有必要保存對應的 Archives 文件 ( AUTOMATICALLY SAVE THE DSYM FILES 這篇文章介紹了通過腳本每次編譯后都自動保存 dSYM 文件)。

我開始沒找到dSYM文件和app文件。。后來我發現只要在工程中,products文件夾右鍵Show In Finder就可以了。把這個兩個文件復制保存到一個新建的文件夾在桌面或者比較方便的地方,crash log和symbolicatecrash也要一起放入這個文件夾。要注意的是dSYM文件每次發布一個版本都要復制出來,因為要和crash log一一對應。

4.symbolicatecrash工具:

symbolicatecrash查找: mac上在終端輸入: find /Applications/Xcode.app -name symbolicatecrash 等一會就可以查找到,我的是/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash。

將symbolicatecrash工具也復制到上面文件存放的文件夾。

5.開始分析:

  打開終端cd進入存放上述文件的文件夾 ,輸入命令:

  ./symbolicatecrash crashlog.crash MyCrash.app.dSYM > 20151209_01.crash

其中crashlog就是存入文件夾的crash log的名稱,MyCrash是app名稱,20151209_01是解析出來的可讀的crash文件,會自動生成。

再輸完上面的命令后可能會報錯:“Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 53.”

如果出現錯誤,再輸入:export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

接着再輸入一次  ./symbolicatecrash crashlog.crash MyCrash.app.dSYM > 20151209_01.crash 這個命令應該就可以了。

 

6.分析完成后,生成的新的20151209_01.crash文件就是我們可以閱讀的了。

好的,先介紹這些了,具體的步驟截圖有時間再上。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM