| add ascendc-crash-debug memcheck func
Co-authored-by: lisa<zhoulisa@huawei.com>
# message auto-generated for no-merge-commit merge:
!223 merge master into master
add ascendc-crash-debug memcheck func
Created-by: lisaZhou
Commit-by: lisa;lisaZhou
Merged-by: cann-robot
Description: # 描述
新增 ascendc-crash-debug 内存检测功能(mssanitizer memcheck),扩展 skill 适用场景从"程序无法运行完"到"程序能跑完但结果异常"。
## 📝 文档更新
- **SKILL.md**:扩展 description 描述,新增"内存错误主动检测"诊断分支和"输出结果异常"场景入口;症状-原因速查表新增 3 行(NaN/Inf/不稳定、偶发崩溃无法复现)。
- **crash_workflow.md**:补充内存检测相关内容,与 SKILL.md 诊断流程衔接。
- **新增 memcheck 参考文档**(references/memcheck/):
- AUTOMATED_WORKFLOW.md(418 行)— 3 步自动化工作流:编译(带 -sanitizer)→ 安装算子包 → 运行 mssanitizer memcheck。
- README.md(135 行)— 用户使用指南:配置文件模板详解、常用选项、典型使用场景(崩溃/NaN/多核不稳定)。
- mssanitizer_guide.md(181 行)— msSanitizer 工具原始文档:6 类内存异常详解(越界读写/多核踩踏/非对齐访问/内存泄漏/未初始化缓冲区/无效释放)。
## ✨ 特性增强
- **新增自动化检测脚本**:scripts/run_memcheck_pre.sh(685 行)— 一键执行内存检测,支持参数化配置、超时控制、日志分级、错误码规范。
- **新增配置文件模板**:scripts/memcheck_input.json.template(44 行)— JSON 配置模板,覆盖算子路径、测试脚本、设备类型、CANN 环境、编译选项等。
- **诊断流程扩展**:从"程序无法运行完"扩展到"程序能跑完但结果异常",新增内存错误主动检测能力(越界读写、多核踩踏、非对齐访问、内存泄漏)。
## 关联的 Issue
关联 Issue — https://gitcode.com/cann/skills/issues/129
## 测试
- **脚本功能验证**:在 ascendc 算子仓库中执行 run_memcheck_pre.sh,完成编译-安装-检测全流程,输出 memcheck_output/ 目录结构正确。
- **配置文件测试**:基于模板生成的 memcheck_input.json 正确解析,参数传递到脚本各环节无误。
- **文档链接验证**:SKILL.md 中新增的 [mssanitizer 内存检测](references/memcheck/) 锚点链接可跳转到对应文档节。
## 文档更新
- 更新 SKILL.md(诊断流程 + 症状速查表 + 资源链接)
- 新增 references/memcheck/ 目录(3 个参考文档)
- 新增 scripts/ 资源(run_memcheck_pre.sh + memcheck_input.json.template)
## 类型标签
🌟 新特性
✨ 特性增强
🐛 Bug 修复
⚡ 性能优化
🧪 测试用例
📦 构建 / CI
📝 文档更新
🔧 配置变更
⬆️ 依赖升级
🔒 安全修复
♻️ 代码重构
🧹 代码清理
❓ 其他,请描述:
See merge request: cann/cannbot-skills!223 | 7 天前 |