智能客服
你问我答,随时在线为你解决问题
版本刚上线,崩溃告警就来了——然后呢?从收到告警到定位根因,中间到底该怎么走?下面用一个真实场景,带你走完从告警到修复的完整链路。

1)基于应用基线创建告警
如下图所示,提前预置了CPP_CRASH的崩溃告警

2)接收线上告警,发现问题
新版本上线后,实际现网发生了问题,CPP_CRASH的错误率发生了告警,系统会发送邮件到预警配置的通知人邮箱

3)查看告警详情,确认问题发生版本为新版本,点击查看对应版本指标详情
然后我们可以在告警总览的列表内找到具体的报错告警了,点击查看可以直接跳转到对应的版本监控


1)发现问题
新版本上线后,崩溃率与崩溃数较前一版本出现明显上涨趋势。
2)初步排查
通过APMS侧归因分析,发现TOP问题中两个CPP_CRASH占比超过45%,成为主要贡献因素。
3)初步定位
确定X月20日后的崩溃数上涨,是由新版本引入的CPP_CRASH问题导致。
点击发生次数最多的问题:

根据汇聚问题点击详情确认故障线程为OS_NET_TSCliRD,大致确认问题为TCP相关问题
通过上传该版本符号表,反混淆获取调用栈得出实际为socket调用问题

结合新版本代码修改 最终定位新版本socket异常复用造成了并发修改的问题
修改并上线新版本后,可以观察到崩溃率明显下降

从布防到定位,从定位到修复——APMS让每一次崩溃都有一条清晰的追溯路径,不再靠猜,而是靠证据。
-----------------------------------------------------------------------------------------------------
🔗 官网开发者学堂视频:https://developer.huawei.com/consumer/cn/training/result?type2List=201783644516849879&orderBy=1&courseType=5
🔗 社区DFX专题文章: https://developer.huawei.com/consumer/cn/forum/subject/2101218731402391001
【扫码加入 HarmonyOS DFX 技术交流群】
我要发帖子