用途:当用户提出“调试”“找根因”“查为什么 X 失败”“调查这个 bug”“测试不稳定”“构建坏了”等诉求时,使用该技能。目标是对故障给出一句话的因果机制并附带证据,再让修复经过最初暴露问题的同一检查验证;禁止靠猜测修复,也不允许在不知原因的情况下让症状消失。
主要能力与流程:先自行复现失败,记录准确报错、命令与环境;无法复现时停下收集报告者的确切条件,不盲修。随后读代码与文档,逐步说明“本应发生什么”,再检查磁盘、数据库、进程、部署等实际状态,注意代码中没有痕迹不等于现实中没发生。接着按最低成本优先查日志、CI、git 历史(已安装版本对比最新版本、构件声明的类型或配置、库的支持列表),并做实时探测来证明机制,比如对比两种配置的差异测试。最后用一句话陈述根因、证据,以及哪些变化与哪些刻意不变。修复须针对上游原因而非症状,最小化改动,再用原失败检查与更广的测试、lint、类型检查验证,并补充能捕获该缺陷的回归测试。
隔离方法与硬规则:单一变量开关逐一翻转;部分修复后重跑原失败检查,避免把“必要但不充分”当成完成;对多个复合原因排序列举;结论前排查独立混淆因素;异常平坦或极端结果先怀疑埋点问题;文档与代码冲突时以实测为准并修正错误一方。不得删除、跳过或放宽失败测试,不得加宽泛捕获、静默回退或重试来掩盖症状,不得因安全机制触发就削弱它,调试凭据问题时不得读取或打印密钥,不稳定操作在变更条件下最多重试一次。验证分层:自动检查通过只覆盖其设计范围,生成或可视化物件需再做一次人工感知检查;无法做理想验证时使用最接近的非变更替代,并说明覆盖与未覆盖范围。数值与科学代码在开始前阅读 references/numerical-debugging.md。停止条件:根因有据可述、修复经原检查与标准关卡验证、回归测试已加(或说明为何不加);死路须记录为文档化结果。资料未提供该技能的具体安装命令、平台与收费信息。