SuperAPI AI 工具集

debugging-wizard

编程与开发

查看项目

更新于 10-15 15:33

技能介绍

Debugging Wizard 是一款面向各类代码库的专家级调试技能,用以系统化地隔离和解决问题。

主要能力

  • 解析错误消息,沿调用栈追踪执行流。
  • 关联日志条目以识别失败点。
  • 应用假设驱动的系统化调试方法定位根因。

核心工作流程

  1. 复现:建立一致的复现步骤。
  2. 隔离:缩小到最小的失败用例。
  3. 假设并验证:提出可测试的理论,逐条证实或证伪。
  4. 修复:实施并确认解决方案。
  5. 预防:添加测试或防护措施防止回归。

参考指南 技能按上下文加载详细指导,包含以下主题:

  • 调试工具(references/debugging-tools.md):按语言设置调试器。
  • 常见模式(references/common-patterns.md):识别 bug 模式。
  • 策略(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

输出模板 调试时提供以下内容:

  • 根因:具体是什么导致了问题。
  • 证据:证明该结论的调用栈、日志或测试。
  • 修复:解决问题的代码变更。
  • 预防:防止复发的测试或防护措施。

适用场景 适用于任何需要定位并修复代码缺陷的场景,包括复杂缺陷排查、多次修复失败后的根因分析、回归缺陷定位以及常见错误的快速处理。

限制 资料未提供该技能的收费方式、价格、平台支持范围或安装命令等信息。