天天看點

Xcode4 使用 Organizer 分析 Crash logs(轉)

一.四種崩潰類型

  • 程式崩潰: 可能是最常見的,經常發生于記憶體通路出錯,異常,或者其他的程式錯誤
  • 記憶體不足: 系統因為沒有足夠的記憶體滿足程式需求進而殺死程式出現這種日志.它不同于其他日志的是它沒有程式各線程的堆棧資訊. Rather than be concerned about what part of your code was executing at the time of termination, you should investigate your memory usage patterns and your responses to low memory warnings. Memory usage of each process is reported in terms of number of memory pages, which as of this writing are 4KB each.
  • 強制退出:異常代碼 

    0xdeadfa11

    . 這出現在使用者在程式界面按下關機鍵知道出現"移動滑塊關機",然後長按Home鍵.使用者之是以這麼做,很可能因為你的程式無響應,當然也不一定.
  • 響應逾時: 異常代碼 

    0x8badf00d

    . 出現在程式啟動慢,運作慢,響應慢.

      

除了記憶體不足,其他日志都包含終止時各線程的堆棧資訊.

二.分析

1.建立一個檔案夾,存放你編譯到手機上的.app和對應的.dSYM檔案.(喜歡放桌面,home目錄的跳過)終端輸入指令

​mdimport ​

​​

​"你剛剛建的檔案夾目錄"​

這時為了確定目錄在spotlight索引目錄裡.

2.編譯app到你的手機上,同時存儲當時生成的.app和.dSYM到剛剛建立的檔案夾(同一檔案夾,不要改名)

3.狂亂操作你的手機吧,出錯了,xcode4打開organizer,點選崩潰日志,看看,不是以前那種冏來冏去的位址代碼了吧,有出錯的函數名稱,位置等.調試改錯吧.(針對第二種錯誤報告)

三.得到崩潰日志

聯機後,崩潰日志會被iTunes拷貝,各平台下日志目錄如下:

  • Mac OS X: 

    ~/Library/Logs/CrashReporter/MobileDevice/<DEVICE_NAME>

  • Windows XP: 

    C:\Documents and Settings\<USERNAME>\Application Data\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>

  • Windows Vista or 7: 

    C:\Users\<USERNAME>\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>