iOS中Crash文件崩潰捕獲分析及符號化思路
最近在做 Crash 分析方面的工作,發現 iOS 的崩潰捕獲和堆棧符號化雖然已經有很多資料可以參考,但是沒有比較完善的成套解決方案,導致操作起來還是要踩很多坑,耽誤了很多時間。所以想做一個總結,闡述 Crash 收集分析的整體思路和出坑指南,具體細節實現會給出相關參考資料。有了思路,實現也就 So Easy 啦。
崩潰捕獲
對于崩潰捕獲,以前在 移動端監控體系之技術原理剖析 中詳細闡述過,并且給出了相應的 Demo,崩潰主要是由于 Mach 異常、Objective-C 異常(NSException)引起的,同時對于 Mach 異常,到了 BSD 層會轉換為對應的 Signal 信號,那么我們也可以通過捕獲信號,來捕獲 Crash 事件。針對 NSException 可以通過注冊 NSUncaughtExceptionHandler 捕獲異常信息。下圖摘自阿里百川,簡潔明了的展現了客戶端崩潰分析架構。
?
沖突
在我們自己研發 Crash 收集框架之前,最早肯定都會接入網易云捕、騰訊 Bugly、Fabric 等第三方日志框架來進行崩潰的收集和分析。如果多個 Crash 收集框架存在時,往往會存在沖突。
不管是對于 Signal 捕獲還是 NSException 捕獲都會存在 handler 覆蓋的問題,正確的做法應該是先判斷是否有前者已經注冊了 handler,如果有則應該把這個 handler 保存下來,在自己處理完自己的 handler 之后,再把這個 handler 拋出去,供前面的注冊者處理。這里給出相應的 Demo,Demo 由@zerygao提供。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
iOS中Crash文件崩潰捕獲分析及符號化思路下載
相關電子資料下載
- iOS17.1可能明天發布,iOS17.1主要修復哪些問題? 376
- 華為全新鴻蒙蓄勢待發 僅支持鴻蒙內核和鴻蒙系統應用 719
- 蘋果手機系統iOS 17遭用戶質疑 731
- iPhone12輻射超標?蘋果推送iOS 17.1解決此事 750
- 傳華為囤積零部件 目標明年智能手機出貨7000萬部;消息稱 MiOS 僅限國內,小米 28208
- 蘋果推送iOS17.0.3,解決iPhone15Pro系列存在機身過熱 216
- Testin云測兼容和真機服務平臺中上線iPhone 15系列手機 208
- 利爾達推出搭載HooRiiOS的Matter模組 145
- 運放參數解析:輸入偏置電流(Ibias)和失調電流(Ios) 128
- 昆侖太科發布支持國產飛騰騰銳D2000芯片的開源BIOS固件版本 448