用途:系统化调试 Ascend C 算子无法运行完的问题,涵盖程序卡死/挂起、Kernel 超时与程序崩溃。
主要能力与使用方式: 程序崩溃方向:启用 coredump(ulimit -c unlimited),运行程序生成 core 文件,再用 GDB 分析(gdb <exe> <core>,配合 bt / bt full / info locals)。 程序卡死方向:查看 plog 日志定位卡死位置,检查 Buffer 配对(AllocTensor/FreeTensor)与同步配对(EnQue/DeQue),Kernel 调试可用 AscendC::PRINTF / DumpTensor / msDebug。
症状-原因速查表(症状→可能原因→诊断方向): 程序卡死/超时→Buffer 未释放/死锁→检查 AllocTensor/FreeTensor、EnQue/DeQue 配对;核心超时/挂起→Buffer 冲突/死锁→检查 Alloc/Free 配对;Segmentation Fault→空指针解引用/内存越界→GDB 分析 coredump,bt 查看调用栈;Abort→断言失败/异常终止→GDB 分析 coredump,检查断言条件;栈溢出→递归过深/大数组→检查 Kernel 内数组大小;aic error→内存访问越界/非对齐访问→检查 DataCopy 长度、32B 对齐;AIV 卡死→跨核同步缺失→检查 CrossCoreWaitFlag 对应 SetFlag;drain 卡死→未发送 AIV→AIC flag→检查 flag 发送链路。
按场景进入详细流程:程序崩溃(Segmentation Fault / Abort)走 Coredump 调试;程序卡死/超时(Kernel 无响应、挂起)走 Kernel 挂起调试;Buffer 冲突/死锁(Alloc/Free 不配对、同步缺失)走 Buffer 问题排查。
详细资源:crash_workflow.md(完整调试流程与调试工具速查)、parse_plog.py(plog 日志解析脚本,自动识别卡死/崩溃/硬件异常信号)、ascendc-env-check skill(环境变量配置指南)。
限制:以上为资料明确提供的内容,未提供支持的硬件/软件版本、适用范围与收费信息,暂未提供。