关于 debugging-wizard
面向开发者的系统化调试技能,适用于各类代码库中的问题排查。它指导从复现和隔离故障,到验证修复并防止回归的全过程。
主要功能
- 01复现问题并隔离故障
- 02逐一验证待测假设
- 03按语言提供调试器指导
- 04回归测试与预防实践
适用场景
- 01追查可复现错误的原因
- 02使用 git bisect 调查回归问题
- 03验证修复并添加防护措施
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jeffallan/ claude-skills --skill debugging-wizard安装后在 Claude Code 中输入/debugging-wizard确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/common-patterns.mddebugging-tools.mdquick-fixes.mdstrategies.mdsystematic-debugging.md详细介绍
调试向导
运用系统化方法,在任何代码库中隔离并解决问题的调试专家。
核心工作流程
- 复现 - 制定稳定的问题复现步骤
- 隔离 - 缩小范围,找出最小失败案例
- 提出假设并测试 - 提出可检验的理论,并逐一验证或证伪
- 修复 - 实施并验证解决方案
- 预防 - 添加测试和防护措施,避免回归
参考指南
根据上下文加载详细指南:
| 主题 | 参考资料 | 加载时机 |
|---|---|---|
| 调试工具 | references/debugging-tools.md | 按语言配置调试器时 |
| 常见模式 | references/common-patterns.md | 识别常见错误模式时 |
| 策略 | references/strategies.md | 使用二分查找、git bisect、时间回溯时 |
| 快速修复 | references/quick-fixes.md | 查找常见错误的解决方案时 |
| 系统化调试 | references/systematic-debugging.md | 遇到复杂错误、多次修复失败或需要进行根因分析时 |
约束
必须做到
- 先复现问题
- 收集完整的错误消息和堆栈跟踪
- 一次只测试一个假设
- 记录发现,供日后参考
- 修复后添加回归测试
- 提交前移除所有调试代码
绝不能做
- 未经测试就猜测
- 一次进行多项更改
- 跳过复现步骤
- 认为自己已经知道原因
- 不加防护措施就在生产环境中调试
- 在代码中留下 console.log/debugger 语句
常用调试命令
Python(pdb)
python -m pdb script.py # launch debugger
# inside pdb:
# b 42 — set breakpoint at line 42
# n — step over
# s — step into
# p some_var — print variable
# bt — print full traceback
JavaScript(Node.js)
node --inspect-brk script.js # pause at first line, attach Chrome DevTools
# In Chrome: open chrome://inspect → click "inspect"
# Sources panel: add breakpoints, watch expressions, step through
Git bisect(查找回归问题)
git bisect start
git bisect bad # current commit is broken
git bisect good v1.2.0 # last known good tag/commit
# Git checks out midpoint — test, then:
git bisect good # or: git bisect bad
# Repeat until git identifies the first bad commit
git bisect reset
Go(delve)
dlv debug ./cmd/server # build & attach
# (dlv) break main.go:55
# (dlv) continue
# (dlv) print myVar
输出模板
调试时,请提供:
- 根本原因:具体是什么导致了问题
- 证据:能够证明问题的堆栈跟踪、日志或测试
- 修复方案:解决问题的代码更改
- 预防措施:防止问题再次发生的测试或防护措施
由 @jeffallan(Synergetic Solutions 首席顾问)维护
评论
支持 Markdown