一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>通訊/手機編程>

iOS中Crash文件崩潰捕獲分析及符號化思路

大?。?/span>0.2 MB 人氣: 2017-09-25 需要積分:1

最近在做 Crash 分析方面的工作,發(fā)現(xiàn) iOS 的崩潰捕獲和堆棧符號化雖然已經(jīng)有很多資料可以參考,但是沒有比較完善的成套解決方案,導(dǎo)致操作起來還是要踩很多坑,耽誤了很多時間。所以想做一個總結(jié),闡述 Crash 收集分析的整體思路和出坑指南,具體細節(jié)實現(xiàn)會給出相關(guān)參考資料。有了思路,實現(xiàn)也就 So Easy 啦。

崩潰捕獲

對于崩潰捕獲,以前在 移動端監(jiān)控體系之技術(shù)原理剖析 中詳細闡述過,并且給出了相應(yīng)的 Demo,崩潰主要是由于 Mach 異常、Objective-C 異常(NSException)引起的,同時對于 Mach 異常,到了 BSD 層會轉(zhuǎn)換為對應(yīng)的 Signal 信號,那么我們也可以通過捕獲信號,來捕獲 Crash 事件。針對 NSException 可以通過注冊 NSUncaughtExceptionHandler 捕獲異常信息。下圖摘自阿里百川,簡潔明了的展現(xiàn)了客戶端崩潰分析架構(gòu)。
iOS中Crash文件崩潰捕獲分析及符號化思路

?

沖突

在我們自己研發(fā) Crash 收集框架之前,最早肯定都會接入網(wǎng)易云捕、騰訊 Bugly、Fabric 等第三方日志框架來進行崩潰的收集和分析。如果多個 Crash 收集框架存在時,往往會存在沖突。

不管是對于 Signal 捕獲還是 NSException 捕獲都會存在 handler 覆蓋的問題,正確的做法應(yīng)該是先判斷是否有前者已經(jīng)注冊了 handler,如果有則應(yīng)該把這個 handler 保存下來,在自己處理完自己的 handler 之后,再把這個 handler 拋出去,供前面的注冊者處理。這里給出相應(yīng)的 Demo,Demo 由@zerygao提供。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?