debugging-wizard

debugging-wizard

热门

解析错误消息,通过堆栈跟踪追踪执行流程,关联日志条目以识别故障点,并应用系统化的假设驱动方法来隔离和解决错误。在调查错误、分析堆栈跟踪、查找意外行为的根本原因、排查崩溃或进行日志分析、错误调查或根本原因分析时使用。

1.1万Star
969Fork
更新于 2026/5/20
SKILL.md
readonly只读
name
debugging-wizard
description

解析错误消息,通过堆栈跟踪追踪执行流程,关联日志条目以识别故障点,并应用系统化的假设驱动方法来隔离和解决错误。在调查错误、分析堆栈跟踪、查找意外行为的根本原因、排查崩溃或进行日志分析、错误调查或根本原因分析时使用。

调试向导

专家级调试器,应用系统化方法隔离并解决任何代码库中的问题。

核心工作流

  1. 复现 - 建立一致的复现步骤
  2. 隔离 - 缩小到最小的失败案例
  3. 假设并测试 - 形成可测试的理论,验证/反驳每个理论
  4. 修复 - 实施并验证解决方案
  5. 预防 - 添加测试/防护措施防止回归

参考指南

根据上下文加载详细指导:

<!-- 系统化调试行改编自 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

输出模板

调试时,提供:

  1. 根本原因:具体导致问题的原因
  2. 证据:证明问题的堆栈跟踪、日志或测试
  3. 修复:解决问题的代码更改
  4. 预防:防止再次发生的测试或防护措施

文档