☰
华为APMS质量管理:崩溃分析(四)
2026/10/6 8:04:42 网站建设 项目流程

一、崩溃问题

崩溃涵盖CPP CRASH、JS ERROR两类问题。

页面提供能力
主页面问题列表及趋势分析等功能
问题列表页面全方位的故障筛选能力,支持应用版本、系统版本、机型、时间等维度过滤;提供崩溃率、崩溃次数、崩溃设备数的趋势分析能力
Top 问题列表基于故障特征进行聚合,提供多个维度的聚合列表,默认基于故障发生次数排序,方便聚焦头部问题快速提升应用质量

二、问题筛选

在崩溃的问题列表中支持多维度的问题筛选能力,支持以下过滤条件:

筛选条件说明
应用版本应用的版本标识
系统版本应用适配的系统版本
设备型号唯一标识设备硬件规格和版本的代码,例如:ALN-AL00
时间范围筛选数据的时间段,支持以下数据聚合粒度:
•天:最长跨度30 天,时间支持按天调整
•小时:最长跨度7 天,时间支持按小时调整
•分钟:最长跨度2 天,时间支持按分钟调整
系统发布类型鸿蒙 OS 系统的发布类型,候选值如下:
•Canary:早期预览版本
•Beta:公开发布的测试版本
•Release:正式发布版本
ROM 版本设备终端当前运行的操作系统固件版本
进程名称应用的运行时的进程名称
应用在前台故障发生时,应用是否处于前台
故障摘要输入故障摘要进行筛选

三、趋势分析

提供崩溃率、崩溃次数、崩溃设备数的趋势分析能力。

  • 鼠标移动到折线时展示对应时间的故障数据

  • 当前支持按天粒度查看数据

四、崩溃信息

TOP 问题列表

在时间范围与筛选维度的条件下,所有崩溃日志按照崩溃摘要进行聚合,展示以下内容:

字段说明
问题特征ID基于故障类型、错误类型、故障模块维度信息进行哈希生成特征ID,用于问题聚合
问题定界基于故障模块及专家规则分析给出问题定界结论,初步定界为应用问题或系统问题
故障类型崩溃类问题包含JS_ERROR 和 CPP_CRASH两大类异常
错误类型应用出现崩溃问题时 reason 中返回的异常信号,如SIGSEGV全称 Segmentation Violation(段错误),表示程序试图访问未映射的内存地址
故障模块给出问题的关键堆栈或问题原因,一般为应用的业务堆栈
发生次数(占比)指定筛选条件下同一聚合根因的问题出现的次数
影响设备(占比)指定筛选条件下同一聚合根因的问题出现的设备数
起止版本给出该问题最早出现的版本及最后出现的版本,方便开发者识别是否为新增问题
问题状态用户可以给聚合的问题设置处理状态,包括「未处理」「已忽略」「处理中」「已修复」
优先级设置问题的优先级,包括「高」「中」「低」
问题备注针对问题进行备注描述

聚合列表支持翻页,每页 10 条,同时支持查看问题详情。

五、问题详情

1. 问题

给出该类问题的聚合信息,包括:

  • 问题特征ID

  • 错误类型

  • 异常描述

  • 故障模块

2. 筛选条件

问题详情页面支持与故障分析页面相同的过滤筛选能力。

  • 用户点击聚合列表查看问题时,默认携带父页面的过滤条件

  • 同时支持在详情页面进行条件修改(基于问题特征ID为必要条件)

3. 问题列表

聚合问题列表按时间排序(最近),包含:

  • 故障发生时间

  • 应用版本

  • ROM 版本信息

点击该问题右侧展示问题的详细信息,每页展示 10 条数据,支持翻页功能。

4. 分析报告

分析报告展示故障问题的基础信息,涵盖:

  • 故障时间

  • 应用版本

  • 系统版本

  • 设备型号

同时提供故障详情,包含:

  • 崩溃原因

  • 修复建议

  • 堆栈信息

  • 现场数据

5. 堆栈信息

堆栈信息详细展示当前崩溃问题的调用堆栈,是分析和解决崩溃问题最直接的依据。

特性说明
结构化处理原始堆栈经过结构化处理,对FFRT 等相似线程做聚合处理
展开与收起支持各线程堆栈的展开与收起,方便聚焦故障线程堆栈进行分析定位
颜色标识页面通过颜色标识应用函数与系统函数
搜索支持按线程名称、Tid、函数名进行搜索

六、现场数据

现场数据包含四个子模块:栈地址空间、寄存器信息、FD信息、页面跟踪。

1. 栈地址空间

程序运行时,操作系统会在计算机内存中为其分配独立内存空间,并将该空间划分为代码区、数据区、堆区、栈区等不同区域。

栈地址空间可展示栈相关内存分配信息,点击展开即可查看完整详情。

2. 寄存器信息

展示故障崩溃时的寄存器现场内容,包含:

  • 寄存器

  • 寄存器地址

  • 寄存器内存值附近地址内存值

  • 内存段文件名

可用于分析空指针及对象异常类问题。

支持按寄存器地址、内存段文件名过滤数据,每页展示 10 条信息并支持翻页操作。

3. FD信息

展示崩溃发生时的FD 使用状态,包含:

  • 当前已使用 FD 数

  • 当前未使用 FD 数

  • 单进程最大可使用 FD 数

并按照FD 类型、数量、占比进行分类。

FD 详情中展示具体被打开的FD 资源路径,同时在尾部标识指向该路径的 FD 个数。

可利用 FD 信息辅助排查问题,识别崩溃发生时打开数量过多的 FD 类型,便于针对性优化整改。

4. 页面跟踪

页面跟踪可还原应用崩溃前的用户页面操作链路,默认保留最近 20 条操作记录。

可通过调用 SDK 接口,实现全量页面切换行为的完整记录。

七、符号表管理

符号表支持自动识别当前问题对应的应用版本,用户可针对该版本上传符号表(如SourceMap、debug SO、namecache等)。

页面功能

  • 系统默认展示已上传的符号表信息

  • 支持下载与删除

上传符号表

点击「上传符号表」按钮可上传其他符号表。

上传窗口包含两个必填项:

字段说明
版本号下拉框选择
文件点击「选取文件」上传

文件格式要求:

限json、so、map、zip文件,单个文件不能大于 3G

整体来看,「故障分析」是 APMS 中最核心的排查工具:

问题列表 → 筛选条件 → 趋势分析 → TOP问题聚合 → 问题详情 → 堆栈信息 → 现场数据 → 符号表还原

日常排查建议:

  • 先看趋势:崩溃率、崩溃次数、崩溃设备数是否有异常波动

  • 再看 TOP 问题:按发生次数排序,优先解决头部问题

  • 关注起止版本:识别新增问题,判断是否与最近版本相关

  • 善用问题定界:应用问题自己改,系统问题及时反馈

  • 上传符号表:让堆栈能还原到源码级别,定位效率翻倍

  • 用 FD 信息排查泄漏:句柄类问题用这个最直接

如果崩溃问题较多,建议先用「应用版本 + 系统版本 + 时间范围」圈定范围,再用问题状态管理处理进度,避免遗漏。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询