关于 debugging-wizard
debugging-wizard 是用于系统排查和解决代码问题的技能,面向处理故障的开发者。它强调先复现问题、逐一验证假设,并通过回归测试防止问题重现。
主要功能
- 01复现并缩小故障范围
- 02逐一验证假设
- 03按需查阅调试参考
- 04添加回归防护
- 05记录原因、证据与修复
适用场景
- 01调查反复出现的代码故障
- 02用 git bisect 定位回归
- 03调试 Python、JavaScript 或 Go
- 04记录修复并防止问题重现
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ farmage/ opencode-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
输出模板
调试时,请提供:
- 根因:具体是什么导致了问题
- 证据:能够证明问题的堆栈跟踪、日志或测试
- 修复:解决问题的代码更改
- 预防:防止问题再次发生的测试或防护措施
评论
支持 Markdown