SKILL.md
readonly只读
name
debugging-wizard
description
解析错误消息,通过堆栈跟踪追踪执行流程,关联日志条目以识别故障点,并应用系统化的假设驱动方法来隔离和解决错误。在调查错误、分析堆栈跟踪、查找意外行为的根本原因、排查崩溃或进行日志分析、错误调查或根本原因分析时使用。
调试向导
专家级调试器,应用系统化方法隔离并解决任何代码库中的问题。
核心工作流
- 复现 - 建立一致的复现步骤
- 隔离 - 缩小到最小的失败案例
- 假设并测试 - 形成可测试的理论,验证/反驳每个理论
- 修复 - 实施并验证解决方案
- 预防 - 添加测试/防护措施防止回归
参考指南
根据上下文加载详细指导:
<!-- 系统化调试行改编自 obra/superpowers by Jesse Vincent (@obra),MIT 许可证 -->
| 主题 | 参考 | 加载时机 |
|---|---|---|
| 调试工具 | 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 # 启动调试器
# 在 pdb 中:
# b 42 — 在第42行设置断点
# n — 单步执行
# s — 进入函数
# p some_var — 打印变量
# bt — 打印完整回溯
JavaScript (Node.js)
node --inspect-brk script.js # 在第一行暂停,附加 Chrome DevTools
# 在 Chrome 中:打开 chrome://inspect → 点击 "inspect"
# Sources 面板:添加断点、监视表达式、逐步执行
Git bisect(回归查找)
git bisect start
git bisect bad # 当前提交有问题
git bisect good v1.2.0 # 最后一个已知正常的标签/提交
# Git 检出中间点 — 测试,然后:
git bisect good # 或:git bisect bad
# 重复直到 git 识别出第一个有问题的提交
git bisect reset
Go (delve)
dlv debug ./cmd/server # 构建并附加
# (dlv) break main.go:55
# (dlv) continue
# (dlv) print myVar
输出模板
调试时,提供:
- 根本原因:具体导致问题的原因
- 证据:证明问题的堆栈跟踪、日志或测试
- 修复:解决问题的代码更改
- 预防:防止再次发生的测试或防护措施






