你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> ios crash文件分析

ios crash文件分析

編輯:IOS開發綜合

       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

 

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved