← ClaudeAtlas

systematic-debugginglisted

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes - four-phase framework (root cause investigation, pattern analysis, hypothesis testing, implementation). NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST.
huangwb8/skills · ★ 39 · Code & Development · score 86
Install: claude install-skill huangwb8/skills
# Systematic Debugging - 系统化调试 ## 与 bensz-collect-bugs 的协作约定 - 因本 skill 设计缺陷导致的 bug,先用 `bensz-collect-bugs` 规范记录到 `~/.bensz-skills/bugs/`,不要直接修改用户本地已安装的 skill 源码;若有 workaround,先记 bug,再继续完成任务。 - 只有用户明确要求“report bensz skills bugs”等公开上报时,才用本地 `gh` 上传新增 bug 到 `huangwb8/bensz-bugs`;不要 pull / clone 整个仓库。 ## 铁律 ``` NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST ``` **违反规则的信件就是违反规则的精神。** **无例外**: - 不跳过根因调查直接修复 - 不基于猜测进行修复 - 不尝试多个更改同时测试 - 不在不完全理解的情况下修复 --- ## 常见合理化 | 借口 | 现实 | |------|------| | "快速修复现在,稍后调查" | 永不会有"稍后"。技术债积累 | | "尝试改变 X,看是否有效" | 猜测不是调试。可能碰巧修复但未理解 | | "添加多个更改,运行测试" | 无法确定哪个更改有效。浪费调试时间 | | "可能大概差不多是 X" | 模糊理解导致错误修复 | | "不完全理解但可能有效" | 理解不完全=修复不完整 | --- ## 红色标志 - 停止并重新开始 - "快速修复现在,稍后调查" - "尝试改变 X,看是否有效" - "添加多个更改,运行测试" - "可能大概差不多是 X,让我修复" - "不完全理解但可能有效" - 基于猜测而非证据的修复 **所有这些意味着:停止修复。回到根因调查阶段。** --- ## 四阶段框架 ### 阶段 1:根因调查 **任何修复前**: 1. **仔细阅读错误消息** - 不要跳过错误或警告 - 它们通常包含确切解决方案 2. **一致复现** - 你能可靠触发吗? 3. **检查最近变更** - 什么变更可能导致此问题? 4. **多组件系统收集证据** ```bash # 对于每个组件边界: - 记录进入组件的数据 - 记录退出组件的数据 - 验证环境/配置传播 - 检查每层状态 运行一次以收集显示何处中断的证据 然后分析证据以识别失败组件 然后调查该特定组件 ``` 5. **追踪数据流** - 向后追踪到坏值起源 ### 阶段 2:模式分析 1. **找到工作示例** 2. **与参考对比** 3. **识别差异** 4. **理解依赖** ### 阶段 3:假设与测试 1. **形成单一假设**:"我认为 X 是根本原因,因为 Y" 2. **最小化测试**:进行最小可能更改 3. **验证后再继续** 4. **3+ 次修复失败时:质疑架构** ### 阶段 4:实现 1. **创建失败测试用例** 2. **实施单一修复**:只改验证该假设所需的最小范围 3. **验证修复**:一次只验证一个假设,不把多个修复混在同一次验证里 4. **收敛范围**:避免顺手重构、无关格式化或新增未证明必要的抽象 5. **如果 3+ 次修复失败:质疑架构** --- #