跳到主要内容

崩溃/卡顿/自定义错误

功能概述

异常分析模块用于查看选定的 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 时所有线程的堆栈信息,帮助定位问题根因。