iOS symbolicatecrash工具crash日誌分析

工做了就懶了,很久沒寫博客了。其實最近也解決了很多能夠記錄的問題,只是太懶了。。。之後慢慢補上吧。xcode

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

1.crash分析須要準備的文件:函數

1>crash日誌 工具

2>dSYM文件測試

3>app文件spa

4>symbolicatecrash工具調試

 

2.iOScrash日誌獲取的方法:日誌

1>若是是本身真機測試的時候出現crash的話,能夠打開xcode->Window->Devices 點擊你的設備,export出crash日誌。code

2>若是是須要測試人員收集的日誌的話,能夠經過iTools工具獲取,也很簡單。這種方法獲取的是.ips文件,改爲.crash就好了。ip

其他的獲取方法我尚未使用過。。之後補上。

 

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文件就是咱們能夠閱讀的了。

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

相關文章
相關標籤/搜索