25

我有一个相当复杂的 javascript 应用程序(它不使用外部框架),用户当前正在测试(几千行)。我一直在收到报告说用户在 Google Chrome 中收到弹出窗口说:

以下页面已无响应。您可以等待他们响应或杀死他们。

他们报告说,继续使用该应用程序的唯一方法是打开一个新的 Chrome 窗口,但消息每隔几分钟就会出现一次,并且只有在他们尝试转到新页面时才会发生。他们特别说他们点击进入一个新页面,并且当前页面永远不会改变,他们只会看到旋转加载图标一分钟,直到弹出窗口出现。

奇怪的是,我已经在这些用户遇到问题的 Chrome (18) 的确切版本上进行了广泛的测试,而且我没有发现任何问题。我有点难过,不知道现在该往哪里看,因为我无法复制它,关于在哪里看的任何想法至少尝试找出可能导致该错误的原因?

4

3 回答 3

18

在无响应期间使用 chrome javascript 调试器暂停(中断正在运行的代码)。这需要一些时间,但它应该在运行时间过长的中间中断。然后,您可以使用调试器控件四处走动,看看什么是不必要的循环。

于 2012-04-08T15:02:49.520 回答
18

我知道这是一个老问题,但我也遇到了这个问题,我给你的最好建议如下:

完全关闭 Chrome,然后将“--enable-logging”添加到您的 chrome 快捷方式以使用该标志启动它,您甚至可以添加“--enable-logging --v=1”以启用详细日志记录。

我知道,插入断点不是一种选择,因为它位于一个新选项卡中,在我启动控制台之前就崩溃了。但是,通过启用日志记录,控制台会被写入 chrome 数据目录中的文件(“C:\Users\username\AppData\Local\Google\Chrome\User Data”)

我希望有一天这能帮助像我一样的人!:D

于 2014-03-12T02:34:17.680 回答
4

我今天有一个页面有一些错误的 JS(无限循环),我无法通过键盘快捷键或右键单击(Chrome 60.0.3112.113)打开开发工具。能够通过以下方式解决此问题:

  1. 打开新标签
  2. 打开开发工具(在空选项卡上)
  3. 输入网址并加载
  4. 在开发工具中暂停 JS 执行

也许这会对某人有所帮助!此外,chrome 调试器会在浏览器选项卡中保留断点(对于相同的 JS),因此如果我无法确定导致错误的确切原因,我的断点仍将存在于新选项卡中!

于 2017-09-12T23:09:56.067 回答