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