diagnosing-bugs:纪律化调试循环


文档摘要

diagnosing-bugs:纪律化调试循环 diagnosing-bugs 是模型触发的调试技能:用一套有纪律的循环对付难缠的 bug 和性能回退——复现、最小化、提假设、打埋点、修复、加回归测试。适合代理自动接手排查。 对付硬骨头 bug 的纪律:复现→最小化→假设→埋点→修复→回归,一步不漏。 它解决什么问题 调试最怕乱试:改一处看一眼,毫无章法,越改越乱。没有复现和埋点,代理基本是盲飞。

diagnosing-bugs:纪律化调试循环

diagnosing-bugs 是模型触发的调试技能:用一套有纪律的循环对付难缠的 bug 和性能回退——复现、最小化、提假设、打埋点、修复、加回归测试。适合代理自动接手排查。

对付硬骨头 bug 的纪律:复现→最小化→假设→埋点→修复→回归,一步不漏。

它解决什么问题

调试最怕乱试:改一处看一眼,毫无章法,越改越乱。没有复现和埋点,代理基本是盲飞。

何时使用

  • 遇到难复现或难定位的 bug
  • 出现性能回退,需要系统性排查
  • 想让代理按固定循环而非随机试错来 debug

核心工作流

关键原则与反模式

  • 先稳定复现,再谈修复——不能复现就不算会修
  • 最小化:把触发条件缩到最小,定位才快
  • 假设要可证伪,用埋点数据验证而非脑补
  • 修复后必须加回归测试,防止复活

与其他技能的配合

diagnosing-bugs 常与 tdd 配合:修复后用测试锁住行为。它也是 implement 遇到意外时的兜底技能。

相关技能:

  • tdd:测试驱动开发
  • implement:按规格构建
  • code-review:双轴代码审查
  • research:带引用的调研

常见问题

它和随便试错有什么区别?

它有固定循环(复现→最小化→假设→埋点→修复→回归),每一步都有依据,而不是改一行看一眼。

为什么一定要加回归测试?

不加回归,同一个 bug 很容易在下次改动中复活;测试是把修复「焊死」。

返回章节:工程技能完全指南


发布者: 作者: 灏天文库 转发
评论区 (0)
U