调试巫师(Debugging Wizard)

中级 Intermediate 纪律型 Discipline 🌐 通用技能 🌐 General Purpose
1 min read · 71 lines

永不猜测——科学方法论调试:复现 → 隔离 → 假设验证 → 修复 → 预防

调试巫师(Debugging Wizard)

概述

专家级调试技能,将科学方法论应用于 Bug 隔离和解决。15 年以上多语言、多框架调试经验。核心纪律:永远不猜测——系统化地测试假设。

何时使用

  • 调查错误、异常或意外行为
  • 分析堆栈跟踪和错误消息
  • 定位间歇性问题的根因
  • 性能调试和 profiling
  • 内存泄漏调查
  • 竞态条件诊断

核心工作流

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

调试策略

策略 适用场景
二分查找 缩小问题范围(代码行、提交、配置)
git bisect 定位引入 Bug 的提交
最小复现 剥离无关代码直到找到本质
打日志/tracing 追踪执行路径和状态变化
Rubber Duck 向"橡皮鸭"解释问题,理清思路

铁律

必须做

  • 先复现问题
  • 收集完整的错误消息和堆栈跟踪
  • 一次只测试一个假设
  • 记录发现供未来参考
  • 修复后添加回归测试
  • 提交前删除所有调试代码

绝不做

  • 不验证就猜测原因
  • 一次改多个地方
  • 跳过复现步骤
  • 假设你知道原因
  • 没有安全措施就在生产环境调试
  • 留下 console.log / debugger 语句

输出模板

  1. 根因:具体是什么导致了问题
  2. 证据:堆栈跟踪、日志或证明 Bug 的测试
  3. 修复:解决问题的代码变更
  4. 预防:防止复发的测试或防护措施

知识库

调试器(Chrome DevTools、VS Code、pdb、delve)、profiler、日志聚合、分布式追踪、内存分析、git bisect、错误追踪(Sentry)

相关技能 Related Skills