每日一博 | iOS 不必现崩溃的点对点解析以及治理
00 引言 客户端应用中崩溃类型有多种,包括普通崩溃,主线程卡死,野指针崩溃,后台崩溃等等。当进程发生崩溃后系统会自动生成相应的崩溃信息,我们可以根据符号表解析崩溃日志,线上用户可以通过Bugly等第三方工具收集并解析堆栈。但是在解析的过程中大家可以发现解析一个崩溃日志操作非常繁琐,有时候出现解析失败的情况,甚至会解析错误。本文章主要介绍多个不同系统崩溃日志的解析方案。 01 背景 当重要客户或测试人员在App使用过程中反馈在某场景下发生了一个闪退现象,研发人员收到反馈后尝试复现又是一个不必现的问题。那我们的第一个反应就是从线上Bugly等第三方平台查询该设备的记录或者直接用户的设备中将崩溃日志导出来,对它进行解析并分析堆栈。但是在解析过程中就会发现可能会存在很多限制以及问题。 1.1 遇到的问题 那我们来详细的分析一下,在解析过程中可能会出现的一系列问题。 问题1:Bugly平台等三方工具解析结果不正确 我们会先从Bugly中查看是否记录了该崩溃问题,但是在通过Bugly平台中提供的崩溃堆栈分析问题的过程中发现崩溃堆栈总是指向一个空函数或与用户的实际路径不一致的函数,无法定位崩溃问题...