debugger 是最直接的代码级断点方式,需在开发者工具开启且代码执行到该行时生效,效果等同ui断点但更灵活,上线前应通过构建工具或eslint移除。

在 JavaScript 代码里写 debugger 就是最直接的断点方式,浏览器执行到这行会自动暂停,进入开发者工具的调试器界面。
怎么加 debugger 语句
在你想暂停执行的代码位置,插入一行:
debugger;
比如:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
function calculateTotal(price, tax) {
let total = price * (1 + tax);
debugger; // 执行到这里就会停住
return Math.round(total * 100) / 100;
}只要这段代码被运行(且开发者工具是打开状态),浏览器就会中断执行,高亮当前行,并显示变量、调用栈、作用域等信息。
必须满足的前提条件
- 浏览器的开发者工具(F12 或 Ctrl+Shift+I)已打开——没开的话
debugger会被忽略 - 代码确实被执行到了那一行(比如函数被调用、条件分支走到了、事件触发了)
- 不是在严格模式下被压缩/混淆后丢失了原始行号(建议开发阶段用未压缩源码)
和 Chrome/Firefox 的断点对比
debugger 是“代码级断点”,和在 Sources 面板里手动点击行号打的“UI 断点”效果一致,但更灵活:
- 可以动态加、删(改代码就行),不用反复进面板操作
- 适合临时排查某次特定逻辑,比如只在某个 if 分支里加
- 可配合条件使用:
if (userId === 123) debugger;
小技巧:避免上线时误留
上线前记得清理 debugger,否则用户打开控制台也能触发。可以用构建工具(如 Webpack、Vite)自动移除:
- Vite:默认在 production 模式下删除
debugger - Webpack:通过
UglifyJsPlugin或TerserPlugin设置drop_debugger: true - 或者用 ESLint 规则
no-debugger提前拦截
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










