登录
No.43核心2 条来源

DebugDebugging

课堂投屏

一句话

Debug 是定位、分析并修复 Bug 的过程:先复现,再用证据缩小范围,修完再验证。

大白话

Debug 像查家里跳闸:先确认按哪个开关会跳,再一段一段断开排查,找到那根坏线换掉,最后合闸确认不再跳。

比喻的边界

电路坏了会跳闸,程序出问题却可能毫无报错,还可能“改了一处碰巧好了”;所以修完一定要回到最初的复现步骤再验证。

拿去就能用

开始做

我遇到的问题是,报错原文是,密钥和密码已换成 ***。帮我先解释这段报错在说什么,列出可能原因和下一步只读的检查,确认原因再改。

还差:问题现象、报错原文,发给 AI 前记得换掉

出错了

我们已经连着改了三次,问题还在,我也不确定哪些改动还有用。帮我先列出这三次改了什么,撤回无关改动前先给我确认,再加几处日志缩小范围,看到结果再下结论。

想做深

这个问题只在线上出现,本地正常。帮我列出本地和线上可能不同的地方,比如环境变量、数据和依赖版本,再设计一个在本地复现线上情况的办法,先别动线上配置。

别这样说 → 这样说

别这样说

还是不行,你再试试别的办法。

这样说

你上次改完后,点保存还是报 500。我把浏览器 Network 里这个请求的返回内容和服务器日志贴在下面,密钥已换成 ***。先根据这些证据说出你的判断,再决定改哪里,不要连续猜着改。

差别:给出了新证据,要求先下判断再改,停止盲目试错。

容易误解:

误解改完不再报错,问题就修好了。

其实是报错消失可能只是错误被吞掉或绕开了;要回到最初的复现步骤确认结果正确,并检查别的功能没被带坏。

展开专业理解

常用手段有读报错和调用栈、加日志、打断点单步执行、在开发者工具里看网络请求、构造最小复现。要点是每次只改一处,用证据排除假设。修复后按原步骤回归验证,能写成自动测试更好,防止同一问题再次出现。

来源

  1. Chrome DevTools:调试 JavaScript 核对于 2026-09-26
  2. MDN:JavaScript 出了什么问题 核对于 2026-09-26