Pull Request已成功合入, 合并人@openharmony_ci
(感谢 fangzy0823 的贡献)感谢提交 Pull Requests !此PR未通过DCO校验。
校验失败可能原因:
1. 未签署“DCO协议”(开发者原创声明协议),在线签署、查看签署状态。
2. Commits 中未包含 Signed-off-by信息,参考FAQ处理。
修复上述问题后,在PR的评论框输入“check dco” ,单击”评论”,系统将再次进行DCO校验。
当前检测到如下Commits 未包含Signed-off-by信息:
Thanks for submitting a pull request. This pull request has not passed the DCO check.
Possible causes:
1. You have not signed the Developer Certificate of Origin (DCO). Sign the DCO and check DCO status.
2. The commits do not contain the Signed-off-by information. To resolve this issue, see FAQs.
After resolving the preceding issues, enter check dco in the comment box of this pull request and click Comment. The system will check DCO status again.
The following commits do not contain the Signed-off-by information:


感谢提交 Pull Requests !此PR未通过DCO校验。
校验失败可能原因:
1. 未签署“DCO协议”(开发者原创声明协议),在线签署、查看签署状态。
2. Commits 中未包含 Signed-off-by信息,参考FAQ处理。
修复上述问题后,在PR的评论框输入“check dco” ,单击”评论”,系统将再次进行DCO校验。
当前检测到如下Commits 未包含Signed-off-by信息:
Thanks for submitting a pull request. This pull request has not passed the DCO check.
Possible causes:
1. You have not signed the Developer Certificate of Origin (DCO). Sign the DCO and check DCO status.
2. The commits do not contain the Signed-off-by information. To resolve this issue, see FAQs.
After resolving the preceding issues, enter check dco in the comment box of this pull request and click Comment. The system will check DCO status again.
The following commits do not contain the Signed-off-by information:


感谢提交 Pull Requests!
Thanks for submitting a pull request.


代码门禁通过
您可以通过如下链接查看门禁报告:http://dcp.openharmony.cn/workbench/cicd/detail/6a9eabe364650f998be1f3fe/runlist
静态检查:
| # | check type | result | report |
|---|---|---|---|
| 1 | codeCheck | pass | >>> |


你因提交次数过多被限制提交,为保障上库效率、避免资源浪费,请先观看学习视频:https://dcp.openharmony.cn/workbench/video/videoDisplay


一、内容说明(相关的Issue)
#37 分析报告对比
本 PR 包含两项独立改进,均针对
01-fault-analysis/cppcrash-analysis/技能。1. LLVM 工具自动定位(ohos_llvm_tools.py)
之前
SKILL.md步骤四和README.md中直接调用裸llvm-addr2line/llvm-objdump命令,要求用户手动确保工具在 PATH 中。新增scripts/ohos_llvm_tools.py(纯标准库实现),按DEVECO_HOME/DEVECO_SDK_HOME/OHOS_SDK环境变量自动定位 OHOS SDK 自带的 LLVM 工具,覆盖两种 SDK 目录布局(standalone OHOS SDK 带 platform 段 vs command-line-tools 不带)。未找到时按报错提示设置环境变量或加入 PATH。
2. 步骤零输入校验(日志类型 + 堆栈信息门禁)
之前脚本对非 CppCrash 日志和缺失堆栈信息的 CppCrash 日志不做前置拦截,直接进入解析流程,产出无意义报告或误导性分析。现在在
build_report中新增两条门禁:collector.py已有的识别逻辑(文件名cppcrash-+ 内容嗅探Reason:Signal:/Reason:GWP-ASAN/*** GWP-ASan detected a memory error ***,排除其他故障类型)未改动;SKILL.md 新增 item 5描述该行为及脚本报错后的用户沟通策略。
fault_stack.frames(CppCrash 的#NN pc帧)或gwp_asan_text中的真实帧行(GWP-ASan 的#N 0xADDR帧),两者皆空时抛ValueError并退出。SKILL.md 新增 item 6 描述该行为。GWP-ASan 日志没有
Fault thread info:区段,其调用栈在*** GWP-ASan detected a memory error ***区块中使用不同帧格式,因此校验逻辑覆盖两条路径,不会误杀有效的 GWP-ASan 日志或放过截断的 GWP-ASan 日志(仅头部标记无实际栈帧)。二、建议测试周期和提测地址
建议测试完成时间:xxxx.xx.xx
投产上线时间:xxxx.xx.xx
提测地址:CI环境/压测环境
测试账号:
三、变更内容
scripts/ohos_llvm_tools.pyllvm-addr2line -pCfie/llvm-objdump -dS -l -C,支持两种 SDK 目录布局 + 递归模糊搜索 + PATH 回退scripts/main.pybuild_report新增堆栈校验(+9 行):has_gwp_asan_frames逐行扫描gwp_asan_text确认有#N 0xADDR帧;fault_stack.frames与has_gwp_asan_frames皆空时抛ValueErrorSKILL.mdohos_llvm_tools.py调用(+2 行)scripts/report.pyllvm-addr2line改为ohos_llvm_tools.py addr2line(1 行)references/gwp_asan.mdllvm-addr2line改为ohos_llvm_tools.py addr2line(1 行)README.mdohos_llvm_tools.py执行(1 行)changelog/cppcrash-analysis.md[Unreleased] - 2026-08-26新增 2 条新增 + 2 条变更(+10 行)四、研发自测点(自测哪些?冒烟用例全部自测?)
输入校验通过 6 条测试日志验证:
Error name:eventLog_action =Reason:Signal:#NN pc帧Reason:Signal:Reason:GWP-ASAN#N 0xADDR帧Reason:GWP-ASAN五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
检查点:
接口测试:
性能测试:
并发测试:
其他: