该技能是一套系统化调试方法论,核心是把找 bug 当作科学调查,而不是随机试错。它反对无依据改动、归咎框架、假设已知原因、删改重写等做法,主张理解先于修改。
主要流程为七步循环:1. 观察,记录确切报错、实际与预期行为、发生时机、环境与受影响人群,并给出 bug 报告模板;2. 复现,强调不能复现就无法验证修复,并通过逐步删减构造最小复现,同时考虑环境差异、竞态、状态依赖与缓存等因素;3. 提出假设,按可能性与可测试性排序,并归纳状态、逻辑、数据、时序、集成与边界条件等常见缺陷类别;4. 验证假设,使用二分查找调试、git bisect 差异调试、橡皮鸭解释法,以及日志、断点、断言与性能分析工具;5. 修复根因而非症状,遵循最小改动、一 bug 一修、不顺手重构;6. 验证,包括原 bug 消失、测试通过、补充回归测试、跨环境确认;7. 预防,通过事后复盘提出加测试、简化代码、改进评审与流程。此外还针对空指针、竞态、性能与内存泄漏给出专门排查思路,并附调试检查清单与常用控制台命令。
适用场景为日常排查软件缺陷、定位难以复现的问题,或团队建立调试规范。限制方面,资料未提供具体安装方式、运行环境、收费模式与平台支持信息,暂未提供。