该技能把调试变成受控调查:先复现,再隔离,提出假设,逐一测试,最后才修复,不做“散弹式”改动。语言或工具相关的命令与高级模式需按需查阅 references/debugging-toolbox.md。
核心流程:一、复现。明确精确步骤、预期与实际行为、频率(必现/间歇/特定环境)、最小可复现用例,以及提交、操作系统、运行时、依赖版本和配置等环境信息。无法复现时,应先补充可观测性,而不是改代码。二、隔离。缩小失败面:移除非相关输入,降低并发、缓存和外部服务影响,比较最后已知正常版本与当前版本,对代码、配置、数据或依赖变更做二分定位。三、形成假设。写出 2 至 5 个可能原因,每个说明为何能解释症状、什么证据可确认、什么证据可推翻、最便宜的验证方式;按“概率×测试成本”排序,而非按理论有趣程度。四、单变量测试。一次只改或只插桩一个变量,保留日志和命令;没有确认原因就修复,只是风险而非结果。五、验证并防止回归。修复后重跑最小复现,重跑相关测试,尽量补回归测试,记录根因及修复为何有效。
问题分流:Python 性能瓶颈转 python-performance-optimization;测试设计或 pytest 失败转 python-testing-patterns;反复出现缺陷的结构性问题转 python-design-patterns;Claude 相关提示或模型行为转 prompting-claude-models。
输出应包含:症状摘要、复现状态、已缩小的失败面、排序后的假设、确切的下一步诊断、修复验证计划、回归预防步骤。适用场景为排查 bug、偶发行为、崩溃等;限制是具体命令与高级模式未在本文展开,需查阅对应参考文件。