iOS .Crash檔案分析處理辦法 (利用symbolicatecrash工具處理),

來源:互聯網
上載者:User

iOS .Crash檔案分析處理辦法 (利用symbolicatecrash工具處理),

崩潰分析方式:命令列解析Crash檔案

通過Mac內建的命令列工具解析Crash檔案需要具備三個檔案

  • symbolicatecrash,Xcode內建的崩潰分析工具,使用這個工具可以更精確的定位崩潰所在的位置,將0x開頭的地址替換為響應的代碼和具體行數。
  • 我們打包時產生的dSYM檔案。
  • 崩潰時產生的Crash檔案。
1、擷取.crash檔案

擷取崩潰資訊方式:

  • 使用友盟、蒲公英等第三方崩潰統計工具。->iOS 友盟第三方崩潰統計的解析-dSYM
  • 自己實現應用內崩潰收集,並上傳伺服器。
  • Xcode-Devices中直接查看某個裝置的崩潰資訊。
  • 使用蘋果提供的Crash崩潰收集服務。

這篇文章先只用第四個方式-審核被拒給我的.crash檔案,其他方式以後討論。

2、擷取 .app 和 .app.dSYM 檔案2.1、步驟:

1、Xcode-Window-Organize找到要檢查的對應Archives找到App-右擊-Show in Finder

2、右擊 .xcarchive 檔案-顯示包內容

3、分別複製dSYMs檔案夾下的 **.app.dSYM 檔案和 Products->Applications檔案夾下的 app檔案放入 .crash 檔案所在的crash檔案夾中(檔案夾自己建的)。

2.2、dSYM 符號集介紹:
  • 符號集是我們對ipa檔案進行打包之後,和.app檔案同級的尾碼名為.dSYM的檔案,這個檔案必須使用Xcode進行打包才有。
  • 每一個.dSYM檔案都有一個UUID,和.app檔案中的UUID對應,代表著是一個應用。而.dSYM檔案中每一條崩潰資訊也有一個單獨的UUID,用來和程式的UUID進行校對。
  • 我們如果不使用.dSYM檔案擷取到的崩潰資訊都是不準確的。
  • 符號集中儲存著檔案名稱、方法名、行號的資訊,是和可執行檔的16進位函數地址對應的,通過分析崩潰的.Crash檔案可以準確知道具體的崩潰資訊。

當程式崩潰的時候,我們可以獲得到崩潰的錯誤堆棧,但是這個錯誤堆棧都是0x開頭的16進位地址,需要我們使用Xcode內建的symbolicatecrash工具來將.Crash和.dSYM檔案進行符號化,就可以得到詳細崩潰的資訊。

3、擷取symbolicatecrash工具

1、開啟終端輸入以下命令:

find /Applications/Xcode.app -name symbolicatecrash -type f我找到的是:/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

2、用命令將symbolicatecrash拷貝到案頭的crash檔案夾裡面,與.app和.app.dSYM放一起

cp /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash /Users/***/Desktop/crash
4、開始命令列解析Crash檔案

1、開啟終端用命令切換到案頭的crash目錄下:

cd /Users/***/Desktop/crash

2、執行命令

./symbolicatecrash /Users/***/Desktop/crash/*.crash /Users/***/Desktop/crash/*.app.dSYM > jieguo.crash2.1、 如果上面命令不成功,需要使用下面命令設定一下匯出的環境變數,然後重複上面解析的操作。export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer

3、解析完成後會產生一個新的.Crash檔案,這個檔案中就是崩潰詳細資料。

 解析前 解析後

使用友盟、蒲公英等第三方崩潰統計工具擷取的資訊可以用如下方式解析iOS 友盟第三方崩潰統計的解析-dSYM

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.