鸿蒙综合讨论/从崩溃日志到修复的闭环

从崩溃日志到修复的闭环

收束调试系列的最后一篇:从崩溃日志到修复的完整闭环——把前面各篇的工具串成一条流水线。

▍闭环的六站
一站,捕获:崩溃发生,故障日志生成(faultlog 篇)。二站,收集:拉取故障日志加应用文件日志加用户操作上下文(用户反馈三角)。三站,还原:符号表配对,地址还原成调用栈(符号还原篇)。四站,定位:栈加寄存器加内存映射加日志时间线,定位到模块与根因假设。五站,修复:按根因修(不是按症状修——栈顶是现场不是病因,日志交叉验证找真正的因)。六站,验证:换进程验证修复生效(强停启动,新日志行为锚点——构建成功不算数),再跑复现率统计(偶发问题三轮起——骰子纪律),最后回归遍历(修复不引入新问题)。

▍每站的纪律回顾
捕获站:无日志崩溃走替代证据(探针推进加二分)。收集站:诊断包一键化。还原站:版本严格配对,基址换算。定位站:双通道证据(视觉加定量)下结论。修复站:根因修复,禁止二进制补丁式的表面糊。验证站:数据说话(复现率、回归绿)。

▍时间预算的参照
一个中等复杂崩溃的闭环:捕获收集(分钟级)、还原定位(十分钟到小时级)、修复(视根因)、验证(小时级——回归遍历占大头)。超预算的信号:定位两小时无进展——换方法(找帮手看、换工具、重新收集证据),别死磕。

▍知识的沉淀
每个崩溃闭环后写卡片:症状、根因、修复、验证数据、关联坑位。卡片进工程的问题库——下一个类似崩溃,检索十分钟解决。问题库是团队最值钱的资产(比代码还值钱——代码谁都能写,坑只有踩过的人知道)。

▍文化位
崩溃不可怕,可怕的是:不闭环(修了不验证)、不复盘(闭环了不沉淀)、不共享(沉淀了不传播)。三不做的团队,同样的崩溃每年重新踩一遍。

▍给新手的路线图
按系列顺序练:日志(hilog 篇)、故障日志(faultlog 篇)、符号(符号表篇)、验证(行为签名纪律)、统计(复现率篇)——六篇读透加一次实战,你就有了完整的崩溃处理能力。

有疑问欢迎在本板块直接发帖,我们会逐条回复。
楼主 7 天前
想参与讨论?登录 或 30 秒注册。