关闭“Pause on debugger statements”开关是最直接有效的第一响应操作,随后可对已卡住的debugger行右键选择“Never pause here”,或注入window.debugger={}覆盖、添加忽略列表、启用无痕窗口禁用扩展来系统解决。

米侠浏览器打开目标网页后,刚按F12就卡在debugger语句上反复中断,无法查看网络请求、检查元素或执行控制台命令,整个调试流程被彻底阻断。
关闭“暂停在debugger语句”开关
这是最直接有效的第一响应操作。打开米侠浏览器开发者工具(F12)→ 切换到「Sources」面板 → 找到右上角「Pause on exceptions」按钮右侧的 【Pause on debugger statements】 开关 → 点击将其关闭。
该开关默认开启,一旦启用,所有显式debugger语句都会强制中断;关闭后页面立即恢复运行,且不影响你手动设置断点调试其他逻辑。
对已卡住的debugger行执行“永不在此处暂停”
如果当前已被卡在某行debugger上,不要反复点“继续执行”——那只会触发下一轮循环。
将鼠标悬停在左侧行号上 → 右键 → 选择「Never pause here」。
这会向米侠浏览器的断点管理器注册一条忽略规则,精准屏蔽该行代码的中断行为,后续刷新页面也不会再停在这里。注意:必须是对触发debugger的**原始语句行**操作,而不是堆栈里某层匿名函数的任意一行。
注入脚本覆盖window.debugger(动态混淆场景)
当debugger出现在eval、Function构造器或字符串拼接中(如eval("de"+"bugger")),前述开关可能失效。此时需主动干预运行时环境。
方法一:在控制台(Console)中粘贴执行:window.debugger = function(){};
方法二:若页面刷新后失效,可在开发者工具「Sources」→「Snippets」新建代码片段,输入相同内容 → 右键运行(Run)。该方式在当前标签页生命周期内持续生效。
此操作本质是用空函数重写全局debugger标识符,使所有后续debugger调用变成无意义空执行。但仅适用于未做delete window.debugger防护的站点。
添加忽略列表过滤可疑脚本文件
第一步:在Sources面板顶部菜单栏点击「Ignore list」→「Add pattern」。
第二步:输入匹配模式,例如:
① 忽略所有VM开头的动态脚本:^VM\d+
② 忽略含混淆特征的文件名:.*[a-f0-9]{6,}\.js
第三步:勾选「Enable ignore list」并刷新页面。
米侠浏览器会跳过这些脚本的解析与断点触发,大幅降低无限debugger命中率。该设置持久化保存,下次打开同域名仍生效。
启动无痕窗口并禁用扩展
部分广告拦截或隐私类扩展会在页面注入反调试检测脚本,导致debugger被额外触发。
点击右上角三点菜单 → 选择「新建无痕窗口」→ 在无痕页中访问目标网址。
若此时不再卡死,说明问题出在扩展或本地存储上。接着回到普通窗口 → 地址栏输入miex://extensions回车 → 将全部扩展开关设为关闭 → 刷新测试。
【关键提示】不要先清Cookie或重置浏览器——80%的此类问题由扩展引起,优先验证无痕模式可节省大量排查时间。

















