这是一套系统化调试方法论,核心原则是:先找到根因,再动手修复,只治标不治本视为失败。铁律是“未完成根因调查前不得提出任何修复”。适用于任何技术问题:测试失败、生产缺陷、异常行为、性能问题、构建失败、集成问题;在时间紧迫、看似只需“快速一修”、已多次尝试修复、不理解问题或急于交差时尤其应使用。流程分四个必须依次完成的阶段:一、根因调查,包括仔细读错误信息与堆栈、稳定复现、检查近期变更、在多组件系统中于各组件边界加日志取证、沿调用栈回溯数据流;二、模式分析,寻找可工作的相似实现、完整对照参考实现、列出所有差异、梳理依赖与假设;三、假设与验证,提出单一明确假设、做最小改动单变量测试、验证后再继续,不知道就直说;四、实施,先写失败测试用例,再针对根因做单次修复,然后验证测试通过且未破坏其他测试。若修复失败,少于三次则带新信息回到第一阶段;达到三次以上应停下质疑架构,而非继续尝试。文档还列出常见红旗信号与借口,如“先快速修一下以后再查”“试试看行不行”“一次加多个修改”,并给出对应纠正。另附环境特定模式:Spring Boot 中 Lombok 注解处理配置(maven-compiler-plugin 的 annotationProcessorPaths 须显式包含 lombok,版本 ${lombok.version})、枚举须提取为顶层类、Quarkus 迁移到 Spring Boot 的常见差异(Panache 公共字段改为 getter/setter、Response 改为 ResponseEntity、移除 Mutiny、JJWT 0.11+ 的 parserBuilder 写法、测试注解迁移)、以及 Podman/容器构建失败的若干模式(父 POM 解析、构建挂起、UBI9 的 curl-minimal 与用户 ID 冲突、target 被 ignore 排除)。资料未提供该技能的具体安装命令、收费方式或平台支持信息,暂未提供。
debugging-methodology
测试与质量
更新于 10-15 21:40