好调试,胜过一次碰运气

排查问题的最高效方式不是“多试几次”,而是按链路定位、用工具验证、用二分缩小范围。方法对了,Bug 无处遁形。

4步定位法
50%时间节省
1系统性思路
调试技巧实战
调试方法

四步定位法:复现、缩小、定位、修复

复现:先稳定复现问题,拿不到现场就无从下手;缩小:用二分法逐步缩小范围(模块/函数/数据);定位:用断点、日志、工具找到根因;修复:修完验证并防回归。

这套方法论比“看见报错就猜”高效得多,也是资深工程师与新手的分水岭。

  • 稳定复现与现场收集
  • 二分法缩小问题范围
  • 断点、日志与工具定位
  • 修复验证与防回归

核心原则:一次只改一个变量,验证后再改下一个;用数据与证据驱动,而不是靠猜。

调试工具箱

不同场景的调试工具。

🖥️

浏览器 DevTools

断点、网络、性能、控制台。

🐞

IDE 调试

断点、单步、变量监视。

📜

日志

分级日志定位现场。

🔌

接口调试

请求响应分析与 Mock。

📊

性能分析

Profiler 定位性能问题。

🔬

线上排查

日志、监控、链路定位。

排查问题实战流程

一套可复用的排查路径。

  1. 01

    收集现场

    记录报错、操作路径、环境与数据,尽量稳定复现。

  2. 02

    提出假设

    基于对系统的理解提出可能原因,按可能性排序。

  3. 03

    验证假设

    用日志、断点、最小复现逐一验证,排除错误假设。

  4. 04

    修复与回归

    定位根因后修复,补测试,验证并确认无副作用。

常见问题定位路径

高频问题的一线排查思路。

问题排查路径
页面白屏控制台→资源→路由→接口
接口报错状态码→请求→服务端日志
性能慢瀑布图→耗时→优化点
数据不对接口→存储→计算逻辑

调试常见问题

本地复现不了线上 Bug 怎么办?

收集线上日志与用户路径,关注环境差异,用 Docker 对齐环境,逐步还原现场。

断点太多反而乱?

先缩小范围再下断点,聚焦关键路径;配合条件断点与日志,避免大海捞针。

改了一处别处坏了?

说明改动有副作用或隐性耦合。修复要回归相关功能,思考改动影响面。

调试时间太长怎么办?

用方法论而非瞎试:先复现、再二分、再定位。必要时向同事描述问题,有时一句提醒就破案。

有个 Bug 一直定位不到?

有个 Bug 一直定位不到?

把报错、现场与已尝试的排查发到问答区,我们帮你换个思路定位根因。