美文网首页
iOS 崩溃监控

iOS 崩溃监控

作者: zhouluyao | 来源:发表于2020-04-30 16:35 被阅读0次
我们分析崩溃日志时最先看的是异常信息,分析出问题的是哪个线程,在线程回溯里找到那个线程;然后,分析方法调用栈,符号化后的方法调用栈可以完整地看到方法调用的过程,从而知道问题发生在哪个方法的调用上。

信号可捕获崩溃:

KVO问题、NSNotification、线程问题、数组越界插空值、野指针等

信号不可捕获崩溃:

后台任务超时、内存打爆、线程卡顿超阈值

- (void)applicationDidEnterBackground:(UIApplication *)application {
    self.backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^( void) {
        [self yourTask];
    }];
}
//在这段代码中,yourTask 任务最多执行 3 分钟,3 分钟内 yourTask 运行完成,你的 App 就会挂起。 如果 yourTask 在 3 分钟之内没有执行完的话,系统会强制杀掉进程,从而造成崩溃,这就是为什么 App 退后台容易出现崩溃的原因。
对各种信号都进行了注册,捕获到异常信号后,在处理方法 handleSignalException 里通过 backtrace_symbols 方法就能获取到当前的堆栈信息。堆栈信息可以先保存在本地,下次启动时再上传到崩溃监控服务器就可以了。
我们采集到的崩溃日志,主要包含的信息为:进程信息、基本信息、异常信息、线程回溯。

进程信息:崩溃进程的相关信息,比如崩溃报告唯一标识符、唯一键值、设备标识;

基本信息:崩溃发生的日期、iOS 版本;

异常信息:异常类型、异常编码、异常的线程;

线程回溯:崩溃时的方法调用栈。

常见的异常编码:

如果主线程超过系统规定的时间无响应,就会被 Watchdog 杀掉。这时,崩溃问题对应的异常编码是 0x8badf00d.

0xdeadfa11,表示 App 被用户强制退出。

0xc00010ff,表示 App 因为运行造成设备温度太高而被杀掉.

相关文章

  • iOS 崩溃监控

    我们分析崩溃日志时最先看的是异常信息,分析出问题的是哪个线程,在线程回溯里找到那个线程;然后,分析方法调用栈,符号...

  • 监控 iOS 崩溃

    本文是< > 第十二篇学习笔记. App 上线后, 导致其崩溃的问题,不仅包括编写代码时的各种小马虎,还包括那些被...

  • 2020年底备战—从技术到面试合集

    技术区 性能优化 iOS性能优化 — 一、crash监控及防崩溃处理[https://www.jianshu.co...

  • 戴铭(iOS开发课)读书笔记:12章节-崩溃监控

    原文链接:iOS 崩溃千奇百怪,如何全面监控? 一、编码常见崩溃 1 数组越界2 多线程问题3 程序无响应4 野指...

  • IOS字节:卡死崩溃监控

    原创:知识点总结性文章创作不易,请珍惜,之后会持续更新,不断完善个人比较喜欢做笔记和写总结,毕竟好记性不如烂笔头哈...

  • iOS监控-野指针定位

    iOS监控-野指针定位 iOS监控-野指针定位

  • iOS崩溃调试

    iOS崩溃调试 iOS崩溃调试

  • iOS 符号化闪退日志

    iOS分析崩溃日志 二 iOS应用崩溃日志分析 iOS崩溃crash大解析

  • iOS通过runloop监控卡顿

    质量监控-卡顿检测iOS实时卡顿监控基于Runloop简单监测iOS卡顿的demo微信iOS卡顿监控系统iOS-R...

  • iOS崩溃分析及全面监控

    奔溃信息分类 可以通过信号捕获的崩溃信息:数组越界,野指针问题,NSNotification线程问题,KVO 问题...

网友评论

      本文标题:iOS 崩溃监控

      本文链接:https://www.haomeiwen.com/subject/kectghtx.html