SuperAPI AI 工具集

systematic-debugging

编程与开发

查看项目

更新于 10-16 05:51

技能介绍

用途:Systematic Debugging 用于处理任何技术问题,包括测试失败、缺陷、意外行为、性能问题、构建失败和集成问题。其核心原则是:在尝试修复之前,必须先找到根因;只修复症状被视为失败。

主要能力:该技能把调试过程划分为四个阶段。第一阶段是根因调查,要求阅读错误信息、复现问题、检查变更并收集证据,目标是理解问题是什么以及为什么发生。第二阶段是模式分析,寻找可正常工作的示例并进行对比,找出差异。第三阶段是假设验证,形成理论并以最小方式测试,确认假设或产生新假设。第四阶段是实现修复,创建测试、实施修复并验证,成功标准是缺陷解决且测试通过。

使用方式:当遇到任何技术问题时使用,尤其在时间紧迫、看似只需一个快速修复、已经尝试多次修复或尚未完全理解问题时更应使用。不应因为问题看似简单、时间仓促或管理者要求立即修复而跳过流程。若尚未完成第一阶段,就不能提出修复方案。

限制与警示:资料列出了多种需要停止并回到流程起点的信号,例如“先快速修复,之后再调查”“试着改一下 X 看看行不行”“一次加入多个改动再跑测试”“跳过测试,手动验证”“大概是 X,直接修它”“不太理解但也许可行”,以及在追踪数据流之前就提出解决方案、已经尝试两次以上仍继续“再试一次修复”、每次修复都在不同位置暴露新问题等。若三次以上修复失败,应质疑架构。

配套技术:资料提到 root-cause-tracing.md 用于沿调用栈反向追踪缺陷,defense-in-depth.md 用于在多个层添加验证,condition-based-waiting.md 用于以条件轮询替代任意超时。相关技能包括 test-driven-development(用于在第四阶段创建失败测试用例)和 verification-before-completion(在声称成功前验证修复有效)。更详细的各阶段步骤、用户信号、合理化说辞表以及“无根因”指导,见 references/four-phases-detailed.md 和 references/debugging-signals.md。