2011-05-24 78 views
3

我有一个页面,它总是会卡只能在Chrome和Safari。该页面加载得很好,然后达到25%的CPU(4核心 - 如果你喜欢100%)。它从不崩溃,但保持不响应。 Safari实际上说有一个没有反应的脚本。我已将调试警报放在所有启动代码上,代码运行得很好。我已经“等待www ......”消息不会消失。 我怎么知道现在正在运行什么?有没有办法“转储”当前的JavaScript堆栈,即使该选项卡没有响应?浏览器无响应调试

因为该网站没有准备好,为广大市民,只是还没有,我不能把链接,所以如果你可以用一个通用的解决方案或任何的方法来诊断问题有所帮助,我将非常感激。

另一种奇怪的东西,没有响应的页面加载就好了其中本地运行。

任何帮助将不胜感激。

+1

那么,你能给我们的网页?或者我们是否应该盲目地弄清楚? – Blender 2011-05-24 21:39:22

+0

比较本地开发平台和实时服务器之间的访问日志。可能有某种无限循环发生。 – 2011-05-24 21:41:09

回答

7

您可以使用WebKit探查找出它开始突突。打开开发人员工具(我的Mac上的命令+ alt + i,也可通过Chrome右上角的扳手图标访问),转到配置文件选项卡,然后单击左下方的黑色圆圈。做导致放缓的事情,然后再次单击纯黑色圆圈。黑色圆圈是'开始录制'/'结束录制'。然后你可以看到哪些js功能花费最多的时间。您还可以获取堆快照,以便您可以看到正在创建的所有js对象。很有用。

Here is a screenshot that shows the profiles tab, and the icons on the lower left, to help you find it.

+0

问题它只发生在启动和所有我的代码完成运行后(据我所知) – Sonia 2011-05-24 21:46:12

+1

@sonia,然后把调试器;在您的js应用程序引导的代码中,暂停加载并使您能够启动调试器。 – hvgotcodes 2011-05-24 21:47:47

+0

您必须在导航到有问题的页面之前启动调试器,然后才能使用分析器,否则您无法使用该分析器。 – Sonia 2011-05-26 10:14:25