--- last_reviewed: 2026-06-11 --- # 出现问题好的排查流程 ## 出现问题后的排查流程 ``` 日志报错 │ ├─ 1. 定位错误源码 │ 根据日志标签 + 错误信息 → 找到报错函数和校验条件 │ ├─ 2. 分析日志时间线 │ 对比错误时间与前后事件 → 判断是主流程还是试探性调用 │ ├─ 3. 编写诊断脚本(隔离测试) │ │ │ ├─ 正常 save/load 循环 → 确认基础路径是否健康 │ ├─ 编码异常检测 → BOM、GBK 混入等 │ ├─ 数据流变更检测 → 前端编辑/外部写入后列结构变化 │ └─ 回退链检测 → glob 扫描到非预期文件 │ ├─ 4. 最小化复现 │ 针对失败的测试用例,提取最简输入证明根因 │ └─ 5. 修复 + 验证 最小改动修复 → 确认不影响正常输入 ``` ## 关键判断点 - 错误不影响主流程 → 优先排查试探性调用和回退链 - 列名校验失败但文件肉眼正常 → 优先检查 BOM 和不可见字符 - 错误出现在外部数据入口 → 优先检查编码兼容性和数据清洗