复现:先稳定复现问题,拿不到现场就无从下手;缩小:用二分法逐步缩小范围(模块/函数/数据);定位:用断点、日志、工具找到根因;修复:修完验证并防回归。
这套方法论比“看见报错就猜”高效得多,也是资深工程师与新手的分水岭。
核心原则:一次只改一个变量,验证后再改下一个;用数据与证据驱动,而不是靠猜。
不同场景的调试工具。
断点、网络、性能、控制台。
断点、单步、变量监视。
分级日志定位现场。
请求响应分析与 Mock。
Profiler 定位性能问题。
日志、监控、链路定位。
一套可复用的排查路径。
记录报错、操作路径、环境与数据,尽量稳定复现。
基于对系统的理解提出可能原因,按可能性排序。
用日志、断点、最小复现逐一验证,排除错误假设。
定位根因后修复,补测试,验证并确认无副作用。
高频问题的一线排查思路。
| 问题 | 排查路径 |
|---|---|
| 页面白屏 | 控制台→资源→路由→接口 |
| 接口报错 | 状态码→请求→服务端日志 |
| 性能慢 | 瀑布图→耗时→优化点 |
| 数据不对 | 接口→存储→计算逻辑 |
收集线上日志与用户路径,关注环境差异,用 Docker 对齐环境,逐步还原现场。
先缩小范围再下断点,聚焦关键路径;配合条件断点与日志,避免大海捞针。
说明改动有副作用或隐性耦合。修复要回归相关功能,思考改动影响面。
用方法论而非瞎试:先复现、再二分、再定位。必要时向同事描述问题,有时一句提醒就破案。