ios crash檔案分析

來源:互聯網
上載者:User

        IOS程式在真機運行程式出現crash狀況時,機器會自動產生log檔案,它包含了在程式crash之前的運行邏輯,分析carsh檔案,有效解決程式在真機上的問題,保證程式良好的穩定性,但是這個crash檔案多數是顯示出現問題的地址和一些系統的訊息,無法查看程式中對應的崩潰地點,以下文章幫你解決這個問題。

分析崩潰原因,需要三個東西,第一,crash檔案,第二,symbolicatecrash,第三,dysm和app檔案

0. 在案頭建立一個臨時檔案夾,如crash

1. 首先要從裝置中匯出crash檔案,最簡單直接的辦法是裝置串連到mac上,開啟xcode的organizer,然後選擇其頂端選中devices,在左邊的列表裡,就能顯示出當前串連的裝置資訊,選擇當前裝置下的device logs,等待片刻,中間的列表裡會出現很多panic的資訊,按照時間排序可以找到最近崩潰的crash,然後右鍵匯出此檔案.檔案名稱自動儲存為.crash檔案,形如: xxx_2013-08-15-200743_-iPad.crash, 將這個檔案拷入第一步建立的臨時檔案夾備用

2. symbolicatecrash是xcode內建的工具,為了方便調用,可以做一個捷徑,方便在任意路徑下調用
首先在termail下,輸入find /Applications/Xcode.app -name symbolicatecrash -type f,用來尋找symbolicatecrash的真實位置,
一般情況下,會返回如下路徑

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash

下一步建立捷徑
sudo ln -s "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash"  /usr/local/bin/symbolicatecrash

3.dysm檔案存在於最後發包的機器上,使用開啟xcode的organizer,選擇頂部的archives,看到最後的發包記錄,選擇distribute儲存為相應的archive檔案,查看包內容,裡面有我們需要的.dSYM檔案

app檔案用剛才同樣的方法,dictribute儲存為ipa檔案,把檔案名稱副檔名改為zip,解壓後可以得到最後的app檔案。將這兩個檔案拷入第一步建立的臨時檔案夾備用

萬事俱備,只差最後一步,termail下進入第一步建立的臨時檔案夾,

使用命令 symbolicatecrash xxxx.crash  xxxx.dsym > crash.text   將最後分析出來的檔案儲存在crash.text檔案中

形如 symbolicatecrash xxx_2013-08-15-200743_iPad.crash xxxx.app.dSYM >crash.text

注意,一般情況下,第一次使用symbolicatecrash會產生一個error,如下的錯誤資訊

Error: "DEVELOPER_DIR" is not defined at /usr/local/bin/symbolicatecrash line 53.

解決辦法是輸入export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.