调试问题的基本方法
调试问题的基本方法
调试不是靠感觉乱改。越复杂的问题,越要先缩小范围,再验证假设。
先复现
不能稳定复现的问题,很难真正修好。先记录:
- 在哪个页面或命令中出现。
- 输入了什么数据。
- 期望结果是什么。
- 实际结果是什么。
- 控制台或日志有没有报错。
复现步骤越短,问题越容易定位。
看第一处错误
很多报错会连锁出现。不要只看最后一行,先找第一处异常。
前端常看:
- 浏览器 Console
- Network 请求
- Vue / React devtools
后端常看:
- 服务日志
- 请求参数
- 数据库记录
- 环境变量
二分定位
如果不知道哪次改动引入了问题,可以用二分思路:
- 回到上一个正常版本。
- 一半一半恢复改动。
- 找到最小出错范围。
Git 里也可以用 git bisect,但日常手动二分也很有效。
加日志要有信息量
不要只写:
console.log("here");
更好的写法:
console.log("submit payload", payload);
console.log("api response", response);
日志要能回答“程序现在拿到了什么数据”。
每次只改一个变量
调试时一次改太多东西,很难知道到底是哪一处生效。先提出假设,再做最小修改验证。
修完要补记录
建议在 PR 或提交信息里写清楚:
- 问题现象
- 根因
- 修复方式
- 验证方法
这样下次遇到类似问题时,可以直接查历史。
Enjoy Reading This Article?
Here are some more articles you might like to read next: