investigate 是一个系统化根因调试技能,核心是用四阶段科学方法开展根因分析,遵循“未经验证的根因不得修复”的铁律,不主张“这应该能修好”式的猜测。
用途:诊断缺陷、调查失败、调试间歇性(flaky)测试、追踪异常行为。
主要能力: 一、根因调查:收集症状(读完整错误与堆栈、用 git log --oneline -20 查近期变更、确定复现条件、查相关报告或失败测试);复现问题并记录精确步骤;用二分思路缩小范围(时间、空间、数据)。阶段一产出根因假设、证据与置信度。 二、模式分析:对照已知模式定位,如竞态条件、空值传播、状态损坏、集成失败、配置漂移、缓存过期、测试污染。针对 flaky 测试可用“污染源查找法”:先单独跑失败测试,若通过则用二分法在测试套件中找污染源,修复共享状态泄漏而非重排测试。 三、假设检验:每个假设按预测、测试、观察、结论推进,单变量变更;三次失败假设后触发“三振规则”,停下重新评估心智模型并向用户求证。 四、实现:修根因而非症状,保持最小改动,写能复现缺陷的回归测试,跑全量测试并输出调试报告(症状、根因、证据、修复、回归测试、假设列表、置信度)。
限制与提示:资料未提供安装命令、平台与收费信息。使用中需避免散弹式调试、盲改、症状掩盖、甩锅框架、证据矛盾仍坚持旧假设、过度加日志等反模式。