Bug 排查流程
核心原则:严禁猜测
必须找到实际证据才能下结论:
- •Log 输出
- •报错信息
- •数据库记录
- •网络请求响应
如果现有代码没有日志,先添加 console.log,复现问题后再分析。
排查步骤
1. 收集证据
bash
# 查看浏览器控制台 # 查看网络请求 (Network tab) # 查看 Supabase 日志
2. WebSearch 搜索(必须)
原因:AI 训练数据不是最新的,很多 API 变更、已知 bug 可能不在训练数据中。
必须搜索:
- •官方文档对该 API/功能的最新说明
- •GitHub Issues 中是否有人报告过类似问题
- •Stack Overflow / Reddit 上讨论最多的解决方案
搜索关键词格式:
code
[库名] + [版本号] + [错误信息或症状]
示例:"react-router v7 useNavigate not working"
优先级:官方推荐 > 高赞社区方案 > 自己摸索
3. 查看历史修复
bash
git log --grep="关键词"
4. 反复修不好时的自检
问自己:
- •之前的修复都是在同一个方向上打转吗?
- •现有代码的 API/方案选型,有没有可能一开始就选错了?
- •如果从零实现这个功能,主流做法是什么?
解释格式
用产品经理能听懂的话说清楚:
✅ 正确示范:
问题是:用户点击按钮后,页面刷新了两次。 原因是:代码在"用户登录成功"和"页面加载完成"时都触发了跳转,导致跳了两次。 证据是:控制台显示
handleRedirect被调用了 2 次(附 log 截图)。
❌ 错误示范:
可能是 useEffect 的依赖数组导致重复渲染