HarmonyOS应用性能监测服务APMS-故障分析:快速定位线上崩溃根因

发布时间:2026/9/10 7:13:14

HarmonyOS应用性能监测服务APMS-故障分析:快速定位线上崩溃根因 本原创文章帖发布在华为开发者联盟社区欢迎开发者前往访问评论交流更多与该内容相关讨论请点击原帖查看HarmonyOS应用性能监测服务APMS-故障分析快速定位线上崩溃根因-华为开发者话题 | 华为开发者联盟线上崩溃了堆栈一片茫然——是该排查代码还是怀疑系统日志千行万行到底哪一行才是根因问题反复出现却无法定位修复上线后还是复现APMS故障分析正是为破解这些困局而生。从筛选过滤到AI智能分析层层下钻让每一起崩溃都有迹可循、有因可查。故障分析页面故障分析的入口在AppGallery Connect 开发与服务/质量/APMS/故障分析下也可以通过同层级的故障指标的TOP问题进行跳转筛选条件说明如下筛选条件说明应用版本应用的版本标识系统版本应用适配的系统版本设备型号唯一标识设备硬件规格和版本的代码例如ALN-AL00时间范围筛选数据的时间段支持以下数据聚合粒度天最长跨度30天时间支持按天调整小时最长跨度7天时间支持按小时调整分钟最长跨度2天时间支持按分钟调整系统发布类型HarmonyOS系统的发布类型候选值如下Canary早期预览版本Beta公开发布的测试版本Release正式发布版本ROM版本设备终端当前运行的操作系统固件版本进程名称应用的运行时的进程名称应用在前台故障发生时应用是否处于前台崩溃类型崩溃的类型可选值为CPP_CRASH、JS_ERROR故障指纹系统侧基于故障特征生成的ID非唯一主键可以用于辅助查询相似问题趋势分析故障分析与故障指标一样提供了对应的指标的趋势分析支持天、小时、分钟调整崩溃详情在时间范围与筛选维度的条件下所有崩溃日志按照崩溃摘要进行聚合展示了故障特征ID、问题定界、故障类型、错误类型、故障模块、发生次数(占比)、影响设备(占比)同时支持查看问题详情、支持翻页每页10条聚合故障聚合结果展示内容具体说明如下问题特征ID基于故障类型、错误类型、故障模块维度信息进行哈希生成特征ID用于问题聚合问题定界基于故障模块及专家规则分析给出问题定界结论初步定界为应用问题或系统问题故障类型崩溃类问题包含JS_ERROR和CPP_CRASH两大类异常错误类型应用出现崩溃问题时reason中返回的异常信号如SIGSEGV全称Segmentation Violation段错误表示程序试图访问未映射的内存地址故障模块给出问题的关键堆栈或问题原因一般为应用的业务堆栈发生次数指定筛选条件下同一聚合根因的问题出现的次数影响设备指定筛选条件下同一聚合根因的问题出现的设备数起止版本给出该问题最早出现的版本及最后出现的版本方便开发者识别是否为新增问题问题状态用户可以给聚合的问题设置处理状态包括“未处理”“已忽略”“处理中”“已修复”优先级设置问题的优先级包括“高”“中”“低”问题备注针对问题进行备注描述开发者可以通过列表对当前问题分布的模块有一个大致的了解也可以通过更新列表上的问题状态、优先级、问题备注等进行团队内问题的分析处理。问题详情开发者可以通过点击列表操作栏的查看/处理按钮进入问题详情页面问题详情页面是APMS对外提供的问题分析定位定界的能力问题概要问题的状态不仅可以在外部更新也可以在问题详情内进行更新通过特征ID我们将一系列的单点问题汇聚到了一起同时也支持了对于某一特征ID的问题的检索如上图所示应用版本/ROM版本等都是基于当前特征ID汇聚的问题的检索下钻分析对于聚类问题APMS提供了下钻分析的能力如下图所示针对聚类问题展示了问题的维度分布和趋势变化开发者可以根据崩溃次数/崩溃设备数的变化曲线验证问题的现网修复结果查看个例问题列表聚合问题列表按时间排序(最近)包含故障发生时间、应用版本、ROM版本信息点击该问题右侧展示问题的详细信息每页展示10条数据支持翻页功能。分析报告分析报告展示故障问题的基础信息涵盖故障时间、应用版本、系统版本、设备型号等内容同时提供故障详情包含崩溃原因、修复建议、堆栈信息及现场数据。堆栈信息堆栈信息详细展示当前崩溃问题的调用堆栈是分析和解决崩溃问题最直接的依据。原始堆栈经过结构化处理对 FFRT 等相似线程做聚合处理同时支持各线程堆栈的展开与收起方便开发者聚焦故障线程堆栈进行分析定位。页面通过颜色标识应用函数与系统函数支持按线程名称、Tid、函数名进行搜索。现场数据栈地址空间程序运行时操作系统会在计算机内存中为其分配独立内存空间并将该空间划分为代码区、数据区、堆区、栈区等不同区域。栈地址空间可展示栈相关内存分配信息点击展开即可查看完整详情。寄存器信息寄存器信息展示故障崩溃时的寄存器现场内容包含寄存器、寄存器地址、寄存器内存值、附近地址内存值、内存段文件名等信息可用于分析空指针及对象异常类问题支持按寄存器地址、内存段文件名过滤数据每页展示 10 条信息并支持翻页操作。FD信息FD信息展示崩溃发生时的FD使用状态包含当前已使用 FD 数、当前未使用 FD 数、单进程最大可使用FD数并按照FD类型、数量、占比进行分类。FD 详情中展示具体被打开的FD资源路径同时在尾部标识指向该路径的FD个数。开发者可利用FD信息辅助排查问题识别崩溃发生时打开数量过多的FD类型便于针对性优化整改。页面跟踪页面跟踪可还原应用崩溃前的用户页面操作链路默认保留最近 20 条操作记录开发者可“”实现全量页面切换行为的完整记录。符号表支持自动识别当前问题对应的应用版本用户可针对该版本上传符号表如 SourceMap、debug SO、namecache 等。系统默认展示已上传的符号表信息并支持下载与删除。AI分析当前故障分析下 崩溃与冻屏部分场景已经支持了AI分析可以从TOP问题列表的查看进入查看个例的界面点击AI分析进行使用AI分析与传统日志分析的核心区别在于传统分析是基于规则和模式匹配的方式给出问题分析结果及定界而AI辅助分析利用大模型的推理能力引用历史故障知识库和业界通用知识库对故障日志进行推理和分析将使用者从繁重、重复的日志筛选中解放出来精力聚焦于问题的解决方案上。下面以一个崩溃问题为例讲述一下AI分析的流程1. 应用崩溃是高频的问题大部分问题可能基于崩溃栈就能直接定位但遇到类似空指针、地址越界、多线程及调用系统接口异常等问题往往无很好的方案定位目前崩溃类问题中CPP_CRASH问题提供了AI分析能力可以通过点击故障中的“AI分析”按钮在右侧弹出会话窗口获取到相应的分析结果。2. 以流式方式持续输出AI分析的结果由浅到深逐步分析故障的根因给出相关的分析结果包含【故障基本信息】、【根因分析】、【三级根因定位】、【证据链】、【根本原因】、【根因模块】、【修复建议】分析模块使用者可以逐步掌握该类型的分析过程及关键点。3. AI分析会结合鸿蒙系统的故障知识库给出对应的故障根因、根因模块和修复建议使用者可以根据修复建议结合自身工程源码进行问题修复。4. 使用结束后通过点击空白处或右侧的“x”按钮能够关闭该对话框AI分析的结果有缓存的机制再次点击会直接呈现结果。筛选聚焦 → 聚合看全貌 → 下钻看趋势 → 堆栈定根因 → AI辅助推理——五步走让每一次崩溃都找到答案。-----------------------------------------------------------------------------------------------------------官网开发者学堂视频华为开发者学堂社区DFX专题文章华为开发者问答 | 华为开发者联盟【扫码加入 HarmonyOS DFX 技术交流群】
延伸阅读

更多相关文章

2026/9/8 21:13:52

HarmonyOS应用性能监测服务APMS-故障指标:多维度量你的应用健康

本原创文章帖发布在华为开发者联盟社区,欢迎开发者前往访问评论交流,更多与该内容相关讨论,请点击原帖查看: HarmonyOS应用性能监测服务APMS-故障指标:多维度量你的应用健康-华为开发者话题 | 华为开发者联盟 你的应用…

2026/9/10 3:28:23

Ubuntu 22.04中Chrome中文字体显示异常的解决方案

1. 问题现象与根源分析最近在Ubuntu 22.04 LTS上使用Chrome浏览器时,发现中文字体显示异常混乱——有些页面显示为宋体,有些变成黑体,还有些直接变成无法辨认的方块字。这种情况在访问中文网站、查看PDF文档或使用在线文档工具时尤为明显。经…

2026/9/4 2:46:22

GitHub Python学习指南:从环境配置到开源项目实战

对于刚开始学习 Python 的开发者来说,最大的挑战往往不是语法本身,而是如何找到真实、可运行、有实际价值的练习项目。很多教程只教基础语法,但学完后不知道能做什么;有些项目又过于复杂,新手连环境都配不通。GitHub 作…

2026/9/10 7:11:40

基于Flask和Vue3的新生报到管理系统开发实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/10 7:11:40

集体好奇心:用众包智慧破解城市交通拥堵的微观解法

这些年做城市交通相关的项目,我有个很深的体会:真正让一个路口变顺畅的,往往不是哪一次轰轰烈烈的大工程,而是一群普通人每天反复试错之后沉淀下来的那套“土办法”。哪个车道在最堵的时候能排队最短,哪条巷子晚高峰反…

2026/9/10 7:11:40

React Native for OpenHarmony统计页面开发:图表绘制与性能优化实战

1. 统计页面的整体设计与技术选型思路1.1 为什么统计页面值得单独梳理AnimeHub 这个项目做到中期的时候,功能页面已经不少了,但大部分都是列表、详情、播放页这类常规结构。真正让我觉得需要停下来认真想一想的,反而是统计页面。原因很简单&a…

2026/9/10 7:11:40

Java+微信小程序实现积分商城与跑腿配送系统实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/10 7:06:40

AI生成代码时代,能力断层如何弥补?Code to Learn训练闭环实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/9 13:11:35

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/8 7:15:15

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 0:00:55

目录对比去重实战:用哈希算法精准清理重复文件

我电脑里现在还有一块换了三次机的“数据墓地”硬盘,里面存着2016年以前所有旧笔记本的完整备份。平时不觉得有什么,直到前阵子想把它整理归档,发现同一个安装包、同一批照片、同一份论文草稿,在几个不同的备份目录里反复出现。更…

2026/9/10 0:00:55

Leaflet离线地图完整Demo合集:内网部署与坐标纠偏实战

简介:这是一份面向Web GIS开发者的LeafLet离线地图示例合集,帮助开发者快速掌握离线地图从搭建到交互的完整流程。压缩包共723个文件,大小14.06MB,以319个js脚本、175个html页面和29个css样式文件为主体,配合png/svg图…

2026/9/10 0:00:55

MATLAB读取Rinex 3.02观测文件:多系统GNSS数据解析实战

简介:基于MATLAB开发的Rinex3.02版观测文件(o文件)读取代码包,面向卫星定位导航方向的学习者与研究人员,用于解决新版观测文件的数据解析、历元提取与时间转换问题。压缩包共4个文件,包含两个m脚本、一个19…

2026/9/7 16:23:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/7 22:46:00

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/9 10:21:54

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码