崩溃/卡顿/自定义错误
功能概述
异常分析模块用于查看选定的 App 发生的崩溃、卡顿和自定义错误情况。
在左侧导航栏中单击异常分析,进入异常分析概览页面,查看当前应用的整体和单样本异常信息。
功能介绍
指标分析
异常分析概览展示四类异常数据卡片:
- 崩溃:展示应用崩溃率、启动次数、崩溃次数和影响设备数
- 卡顿:展示应用卡顿率、活跃设备数、卡顿次数和影响设备数
- 自定义错误:展示应用错误率、活跃设备数、错误次数和影响设备数

趋势分析图支持查看异常次数和异常率的变化趋势,可通过左上角切换查看指标。
维度分析
提供三个维度的异常分析:
Top5 设备型号
展示崩溃率/卡顿率/错误率最高的 5 种设备型号。数据按百分比从低到高排序,并显示各设备型号的影响设备数和活跃设备数。
Top5 操作系统
展示崩溃率/卡顿率/错误率最高的 5 种操作系统。数据按百分比从低到高排序,并显示各系统版本的影响设备数和活跃设备数。
版本分布
展示崩溃率/卡顿率/错误率最高的 5 个应用版本。数据按百分比从低到高排序,并显示各版本的影响设备数和活跃设备数。
异常管理
异常列表
异常列表包含三类数据:崩溃事件、卡顿事件(含自定义错误和捕获错误)以及其他异常记录。列表按异常 message 和 trace 信息聚合,展示以下信息:
- 异常 ID
- 异常问题
- App 版本
- 最近上报时间
- 发生次数/占比(当前类型异常次数/总异常次数)
- 影响设备数/占比(当前类型影响设备数/总影响设备数)
- 状态
操作功能
- 点击异常问题的蓝色链接可进入异常详情页面
- 支持按以下条件筛选:
- 处理人
- 标签
- 异常处理状态
- 异常堆栈
- 错误类型
- 平台类型
- 异常名称
- 卡顿列表额外支持按主线程卡顿和 ANR 筛选
- 可为异常添加多个标签
- 支持批量修改处理状态

符号表功能
为快速定位问题代码位置,系统使用符号表文件解析异常堆栈:
- 支持手动上传:点击右上角符号表管理
- 支持自动上传
- 仅系统管理员可进行上传操作
示例效果:


详细配置说明请参见符号表配置。
异常详情
基本信息
页面顶部展示异常的基本统计信息:
- 发生次数
- 影响设备数
- 修复状态
异常记录
异常列表页签展示每次异常发生的记录,包含以下上下文信息:
- 设备启动时间
- 异常发生时间
- User ID
- 设备 ID
- App 版本
- 操作系统
- 设备型号

设备统计
设备统计页签以条形图形式展示崩溃次数在各维度的分布情况:
- 按设备型号统计崩溃次数
- 展示各维度下的影响设备数
- 帮助识别崩溃率最高的设备和操作系统
- 支持针对性优化分析
异常趋势
异常趋势页签通过条形图展示:
- 崩溃次数趋势
- 影响设备数变化
- 支持趋势对比分析

上下文信息
展示崩溃事件的环境信息:
- 用户信息
- User ID
- Device ID
- 时间信息
- 应用启动时间
- 异常发生时间
- 会话时长
- 设备信息
- 设备型号
- 操作系统
- CPU 型号
- CPU 指令集
- UI 朝向
- 系统信息
- 设备内存
- 应用占用内存(%)
- 剩余内存(%)
- 剩余存储空间(%)
- 网络信息
- 地域
- 运营商
- 接入方式

堆栈信息
展示崩溃事件的详细堆栈:
- 展示崩溃源头
- 显示最终崩溃原因

Binary Images:基础信息,iOS应用特有。仅崩溃和卡顿有该页签。

自定义信息:您可以在基调听云SDK启动后的任意位置添加10条100个字节的自定义信息,例如可以添加真实用户的账号和联系方式。
添加方法:NBSAppAgent.setUserCrashMessage(String key,String value);
系统日志:对于Android SDK,用户可以自定义系统日志,定义之后,崩溃详情页面会新增一个系统日志页签。

卡顿详情
卡顿详情在崩溃详情的基础上增加了以下功能:
- 火焰图分析
- 请求瀑布图
- ANR Message
- Stack 信息
火焰图分析
火焰图通过对主线程进行切片分析,帮助定位卡顿根因:
- 采集方式:每隔 100ms 采集一次主线程调用栈
- 采集内容:
- 主线程调用栈信息
- CPU 占比
- 内存占用情况

火焰图解读
-
纵轴(调用深度)
- 表示函数调用关系
- 下层为上层的父函数
- 格子长度代表耗时
-
横轴(时间顺序)
- 按加载时间排序
- 格子宽度表示出现频率
- 宽度越大越可能是卡顿根因
-
交互功能
- 节点搜索:支持搜索并高亮显示调用栈
- 节点过滤:可选择显示用户/系统节点
- 视图翻转:支持上下方向切换
- 最大化显示:支持全屏查看
提示框信息
鼠标悬停时显示:
- 名称:调用栈完整名称
- 耗时:调用次数 × 采样频率
- 次数:出现次数统计
- 占比:子级调用次数/父级调用次数
异常溯源
通过记录用户行为轨迹,还原异常发生场景:
- 记录卡顿前的用户操作序列
- 展示完整的行为链路
- 支持场景还原分析

ANR 分析
ANR Message
展示应用无响应的详细信息。
Stack 信息
展示发生 ANR 时 所有线程的堆栈信息,帮助定位问题根因。