我可以在脚本中完全禁用“调试器”吗?

Posted

技术标签:

【中文标题】我可以在脚本中完全禁用“调试器”吗?【英文标题】:Can I completely disable 'debugger' in scripts? 【发布时间】:2018-02-22 20:29:49 【问题描述】:

我想查看第三方网站的网络日志。 (没有恶意目的,只是为了解决作为网站合法用户的客户端的登录问题。)但似乎开发人员已经采取了一些措施来防止这种情况。一些动态生成的函数循环 200 次并调用debugger。因此,如果我打开开发者工具,它会不断停止,并且“从不在这里暂停”也不起作用,因为它的位置一直在变化。

我尝试了所有主流浏览器(Chrome、FF、Edge),但它们都停止了。有什么方法可以暂时禁用所有debugger 暂停,或者有开发者工具但忽略该关键字的网络浏览器?

【问题讨论】:

【参考方案1】:

在 IE 和 Edge 中,您可以使用“断开调试器”切换来分离调试器。它是调试器命令栏左侧的第二个图标。断开连接后,调试器将忽略所有中断原因。我会在其他地方打开工具,断开连接,然后导航到您要查看的页面。

【讨论】:

【参考方案2】:

Chrome 的开发工具有一个禁用所有断点按钮,它会忽略这一点。

【讨论】:

那个按钮在哪里?那是水平书签状的图标吗?我试图点击它,但浏览器和开发工具没有响应,所以我认为这不是解决方案。但似乎我错了。浏览器和工具在 CPU 使用率高的情况下非常无响应。它没有反应,但我想我可以设法测试它......耐心。谢谢你的回答。 @DamnVegetables 在“来源”选项卡中,右上角有一个斜线穿过右箭头的按钮;悬停文本是“禁用断点”。我只是在小提琴中做了一个快速测试,它并没有在 debugger 关键字上中断。 是的,那个。按下后,浏览器/工具变得非常无响应,过了一会儿,开发者工具显示“aw snap!”。 @DamnVegetables 那是因为它是一个繁忙的循环。如果debugger 调用没有停止,它仍然会继续压入调用堆栈,直到溢出并崩溃。 如果有人有办法在 Waterfox Classic(基于 Firefox 56)中实现这一点,请告诉我们。 (我知道我们不应该使用基于过时版本的浏览器,但对于很多事情,我们中的很多人仍然这样做,FWIW)

以上是关于我可以在脚本中完全禁用“调试器”吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VSCode 调试器中禁用“只是我的代码”设置?

Google Chrome Javascript 调试器和内容脚本

在 Redis 中禁用 Lua 调试器

Visual Studio实时调试器 是啥东西?

MATLAB 调试器不再显示行号

我可以在 Windows XP 上使用 Visual Studio 2010 远程调试器从 Visual Studio 2012 调试 .Net 4.0 应用程序吗?