Chrome JavaScript调试器在暂停时无法重新加载页面

16
有时当我在Chrome中调试一些JavaScript并将其暂停时,如果我尝试重新加载页面,Chrome会直接“继续”调试器,跳转到下一个断点。
似乎没有任何方法可以强制JavaScript完全停止运行,并让Chrome重新加载页面。每次按-R或单击重新加载按钮都会继续到下一个断点。
我目前的临时解决方案是:
  1. 复制URL地址栏
  2. 关闭该选项卡
  3. 打开一个新选项卡
  4. 然后在新选项卡中打开该网址。
这有点粗暴,但这是唯一一种可以让Chrome实际加载该页面的新副本的方法,而不仅仅是继续现有的运行过程。清空缓存没有影响,因为它甚至没有尝试重新加载页面。
另外,我也注意到JavaScript调试器没有“停止”按钮。如何告诉Chrome停止执行JavaScript,无需继续?唯一的控件是“继续”,“步进”,“步进到内部”,“步回到外部”。怎么可能没有“停止”或“取消”按钮呢?
5个回答

9

当我想这样做时,我会关闭调试器(让脚本运行完成),然后重新打开它并点击刷新。


如果我没记错的话,关闭调试器窗口并重新加载确实有效。 - DragonFax
这假设脚本会完成——如果你处于问题描述的情况下,找出脚本为什么无法完成(例如无限循环、昂贵的进程等)可能正是你试图调试的内容! - accidental_PhD

3

我发现导致这个问题的原因是我不小心按了左下角的一个按钮,使其处于“暂停JavaScript异常”状态。它变成了蓝色 - 我点击了两次将其变回灰色,调试器就停止暂停了。


1

您可以将所有断点停用,重新加载页面,然后重新激活它们,这是最后一个按钮(从暂停开始的第五个按钮)

Google Chrome的调试器非常棒,但它不像gdb那样可以随时启动或关闭,尽管您可以通过调用开发工具来启用/禁用它,但请将其视为解释器的监视器或管理器,因为JS在大多数情况下始终运行或在需要解析JS时运行,debugger只是与解释器交互,这就是我的理解,如果我错了,请谅解。


两个答案都不错,但dbaseman给出了一个简单快速的解决方案,直截了当。 - DragonFax
没问题,我已经做过几次了。我要说的是,调试器真的很棒,绝对是最好的之一,而且它已经救了我很多次了。我感觉应该给开发它的人买些啤酒来表示感谢。 - Samy Vilar

1
如果您想停止选项卡中的所有活动,而不实际关闭它或开发人员工具窗口,则可以通过Chrome的任务管理器(更多工具 -> 任务管理器,选择选项卡,点击“结束进程”)将其强制转换为“噢,崩溃了!”状态(带有方便的重新加载按钮)。
这样,您可以立即重新加载选项卡,而无需等待所有脚本完成。当您点击刷新时,开发人员工具窗口将自动重新连接。

-7

Google Chrome的调试器永远无法关闭。一旦我创建了一个断点,但现在没有断点,但它仍然暂停,并且没有任何断点在暂停时被设置。我强烈建议根本不使用调试器,如果你用了的话,只需卸载Chrome并重新安装,永远不要设置任何断点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接