JS跳过debugger的几种方法小结
本文总结了在JavaScript开发中绕过或跳过debugger语句干扰的几种常见方法。包括禁用所有断点、将文件加入忽略列表、设置Never pause here、添加条件断点以及通过Overrides功能重写包含debugger的函数。这些技巧有助于自动化脚本或调试过程中避免陷入无限暂停状态,提升开发效率。
在JavaScript中,开发者常利用debugger关键字来构建无限循环逻辑。
debugger语句的主要作用是暂停JavaScript代码的执行,并调用可用的调试函数。其作用类似于在代码中手动设置断点。
需要注意的是,如果当前没有开启调试工具,debugger语句将不会生效。也就是说,只有在开发者工具处于打开状态时,该语句才会触发暂停行为。
方法1:禁用所有断点

此操作会禁用全局断点,包括用户自己设置的断点,从而导致调试暂停功能失效。
以网址https://antispider8.scrape.center/为例,打开该网站并进入开发者工具(此处以谷歌浏览器为例),会发现页面立即进入断点暂停模式。


这种方法存在局限性,因为禁用了全局断点后,将无法对代码的其他部分进行断点调试。
方法2:添加到 Ignore List 中
将包含需要忽略的debugger语句的文件添加到忽略列表中,这样可以跳过部分断点,且使用F5刷新页面后设置依然有效。
具体操作是将鼠标悬停在debugger语句所在行,点击右键。

在弹出的菜单中选择“添加到 ignore list”,随后进行相关配置,如图:

方法3:设置 Never pause here
在debugger关键字对应的行号上单击右键,会弹出相应的选项卡。

点击“Never pause here”选项,表示在该行不会暂停执行,此时页面显示状态如下:

此时可以看到断点变为橙色,并在断点处出现一个问号符号。再次点击“Resume script execution”(恢复脚本执行),页面将不再陷入无限的debugger暂停模式。
方法4:Add conditional breakpoint
在上述方法的选项卡中,还有一个“Add conditional breakpoint”(添加条件断点)选项,用于设置进入断点的条件。在本案例中,直接填入false,其效果与“Never pause here”一致。

方法5:重写函数
浏览器调试工具提供了Overrides(覆盖)功能,可以实现绕过debugger的目的。

点击加号后,系统会提示选择文件夹,用于存储要替换的JS文件,这里选择Chrome文件夹。

选择文件夹后会出现提示,点击“允许”即可继续。

找到包含debugger语句的JS文件,

原始代码可能不易阅读,调试工具提供了格式化代码的功能,左下角的{}图标即为格式化按钮。点击后,旁边会打开一个带有format文件名的文件。

将该格式化文件的内容复制到文本编辑器中进行修改,然后将修改后的内容复制回不带format的文件中,替换原有文件(注意:带有format的文件是格式化的,不能被直接修改),并按Ctrl+S保存。此时,在Chrome文件夹下会生成一个新的文件。

以下简写方式也能实现相同效果:
找到包含debugger的方法,在控制台内重写并替换该方法,直接去掉其中的debugger语句。
方法名 = function(){ }
或
function 方法名(){ }

通过跳过debugger,复制调试器中的代码即可流畅执行,从而可以自由地运行自动脚本。
到此这篇关于JS跳过debugger的几种方法小结的文章就介绍到这了,更多相关JS跳过debugger内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
JS在setTimeout或Ajax回调中打开新标签页失败怎么处理
2026-11-05 15:50:12
JS直播协议选型:HLS、FLV与WebRTC的延迟与兼容性对比
2026-11-05 12:16:14
JS实现回到顶部:scrollTop赋值与浏览器兼容性处理
2026-11-04 23:43:35
JS使用classList动态添加、移除和切换CSS类名
2026-11-04 23:40:58
在 D3.js 中实现平滑过渡动画的技巧
2026-11-03 23:46:09
