崩溃分析
1.崩溃概览
崩溃概览页可以查看概览性的稳定性指标,通过分App版本、操作系统、设备型号查看崩溃指标了解App的稳定性情况,相关指标计算逻辑如下:
名称 | 字段 | 计算逻辑 |
---|---|---|
崩溃数 | crashNumber | 所选维度下崩溃发生次数 |
崩溃率 | crashRate | 崩溃数/会话数 |
崩溃用户数 | crashUserNumber | 至少发生一次崩溃的用户定义为崩溃用户 |
崩溃用户占比 | crashUserRate | 崩溃用户数/活跃设备数 |
2.崩溃统计
2.1 崩溃统计
崩溃统计页会对崩溃摘要相同的崩溃日志进行聚合,方便开发者定位到线上影响最大的崩溃类型,相关维度说明如下:
名称 | 字段 | 说明 |
---|---|---|
崩溃摘要 | crashSummary | 根据崩溃时采集到的崩溃名称和原因拼接得到,如NSRangeException:* -[__NSArray0 objectAtIndex:]: index 1 beyond bounds for empty NSArray |
类型 | errorType | 崩溃类型,iOS有Native/C/Flutter三种,Android有Java/Flutter两种 |
最近上报时间 | crashLatestTime | 服务器收到最近一条相同崩溃摘要崩溃日志的时间 |
2.2 崩溃日志
在崩溃统计页点击崩溃摘要可以查看所选时间范围内同类崩溃下的全部崩溃日志,点击查看详情可以查看该条崩溃日志携带的全部信息,进而通过崩溃的上下文信息辅助复现崩溃问题,相关信息说明如下:
名称 | 字段 | 说明 |
---|---|---|
上报时间 | errorTimestamp | 服务器收到该条崩溃日志的时间 |
异常线程ID | threadmsg | 发生崩溃的线程ID |
CPU架构 | cpu | 设备的CPU架构,如arm64-v8a |
网络类型 | networkType | 发生崩溃时使用的网络类型, 如wifi/2g/3g/4g |
是否越狱 | root | 设备是否越狱 |
崩溃发生在前台 | escene | 1为崩溃发生在前台,0为后台 |
设备剩余内存 | avlrom | 崩溃时设备的剩余内存 |
运行剩余内存 | avlram | 崩溃时设备的剩余运行内存 |
SD卡剩余存储 | avldisk | 崩溃时设备的SD卡剩余内存 |
电池剩余电量 | battery | 崩溃时设备剩余电量 |
崩溃原始堆栈 | errormsg | 崩溃的原始堆栈信息 |
3.符号表管理
为了能快速并准确地定位用户App发生崩溃的代码位置,需要使用符号表对App发生崩溃的程序堆栈进行解析和还原。
需要iOS平台的.dYSM文件或Android平台的mapping.txt文件压缩成.zip或.rar后上传并正确填写对应App版本,每个平台同一个App版本只支持上传一份符号表。