iOS---crash日志分析

crash 日志產(chǎn)生的兩種原因

  1. 違反 iOS 策略
  2. 代碼所出現(xiàn)的 bug

常見的Exception Type & Exception Code

Exception Type

  1. EXC_BAD_ACCESS

    通常用于訪問了不改訪問的內(nèi)存導(dǎo)致。

    • SIGSEGV: 通常由于重復(fù)釋放對象導(dǎo)致,這種類型在切換了ARC以后應(yīng)該已經(jīng)很少見到了。
    • SIGABRT: 收到Abort信號退出,通常Foundation庫中的容器為了保護(hù)狀態(tài)正常會做一些檢測,例如插入nil到數(shù)組中等會遇到此類錯誤。
    • SEGV:(Segmentation Violation),代表無效內(nèi)存地址,比如空指針,未初始化指針,棧溢出等;
    • SIGBUS:總線錯誤,與 SIGSEGV 不同的是,SIGSEGV 訪問的是無效地址,而 SIGBUS 訪問的是有效地址,但總線訪問異常(如地址對齊問題)
    • SIGILL:嘗試執(zhí)行非法的指令,可能不被識別或者沒有權(quán)限。
  2. EXC_BAD_INSTRUCTION

    此類異常通常由于線程執(zhí)行非法指令導(dǎo)致。

  3. EXC_ARITHMETIC

    除零錯誤會拋出此類異常。

  4. EXC_BREAKPOINT//SIGTRAP

    與異常退出類似,如果存在debugger,則它被喚起;否則,則與異常退出的處理一致。

  5. EXC_GUARD

    訪問非法資源,例如:文件描述符已經(jīng)被關(guān)閉,還繼續(xù)訪問。

  6. EXC_RESOURCE

    達(dá)到資源訪問上限,這不是崩潰,而是os發(fā)出的一個通知

具體操作

  1. 從崩潰系統(tǒng)把相關(guān)文件下載下來,.crash 文件和 .dSYM 文件
  2. 使用命令解析
cp /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash /Users/Loong/Downloads/kiwi/dSYMs 

./symbolicatecrash kiwi-2017-11-11-151231.crash /Users/Loong/Downloads/kiwi/dSYMs/kiwi.app.dSYM >  kiwi.crash

export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

參考文章:

  1. https://developer.apple.com/library/content/technotes/tn2151/_index.html#//apple_ref/doc/uid/DTS40008184-CH1-ANALYZING_CRASH_REPORTS
  2. http://www.lxweimin.com/p/f8a6945a55e6
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 在iOS開發(fā)中,Crash無疑是App的致命殺手。作為一個嚴(yán)謹(jǐn)?shù)膇OS 開發(fā)人員來說,寫出優(yōu)秀的健碩的無Cr...
    Ekkooo丶閱讀 3,825評論 2 22
  • iOS程序崩潰定位,一般會出現(xiàn)在3種地方。 1,我們正在編寫程序的時候,運(yùn)行崩潰。 2,測試階段,測試出現(xiàn)的崩潰閃...
    出門向左走閱讀 2,275評論 0 13
  • 以前對于這方面了解的很少,在工作中需要用到這方面的東西,所以,把自己學(xué)習(xí)的東西寫出來分享一下。對于carsh日志來...
    zcdong閱讀 2,859評論 5 5
  • 原文:http://www.cnblogs.com/smileEvday/p/Crash1.html iOS Cr...
    赤兔人生閱讀 722評論 0 2
  • 一、crash log的獲取 當(dāng)你的app 在手機(jī)上crash的時候,會在手機(jī)上自動生成一個崩潰日志,也就是我們說...
    He_Define閱讀 60,676評論 37 148