---
last_reviewed: 2026-06-11
---

# 出现问题好的排查流程

## 出现问题后的排查流程

```
日志报错
  │
  ├─ 1. 定位错误源码
  │     根据日志标签 + 错误信息 → 找到报错函数和校验条件
  │
  ├─ 2. 分析日志时间线
  │     对比错误时间与前后事件 → 判断是主流程还是试探性调用
  │
  ├─ 3. 编写诊断脚本（隔离测试）
  │     │
  │     ├─ 正常 save/load 循环 → 确认基础路径是否健康
  │     ├─ 编码异常检测 → BOM、GBK 混入等
  │     ├─ 数据流变更检测 → 前端编辑/外部写入后列结构变化
  │     └─ 回退链检测 → glob 扫描到非预期文件
  │
  ├─ 4. 最小化复现
  │     针对失败的测试用例，提取最简输入证明根因
  │
  └─ 5. 修复 + 验证
        最小改动修复 → 确认不影响正常输入
```

## 关键判断点

- 错误不影响主流程 → 优先排查试探性调用和回退链
- 列名校验失败但文件肉眼正常 → 优先检查 BOM 和不可见字符
- 错误出现在外部数据入口 → 优先检查编码兼容性和数据清洗