如何在运行AngularJS应用程序时找到冻结Chrome的内容?

时间:2018-04-05 10:53:10

标签: angularjs performance google-chrome debugging profiling

我正在检查AngularJS应用程序的性能问题。

执行特定操作时,CPU使用率达到100%,Chrome窗口冻结,我必须使用Chrome的任务管理器手动终止该过程。

我尝试调试应用程序(DevTools' Sources 标签),但是应用程序非常庞大且代码缩小了,这意味着找到问题并不容易:我看到了由摘要周期触发的大量代码,无法确定哪个代码是实际的罪魁祸首。

可能有用的是能够在应用程序冻结后对其进行分析;我很确定分析器会立即显示实际的瓶颈。我可以在冻结发生之前成功启动探查器(性能选项卡),但是一旦应用程序冻结,当我单击停止按钮时,加载配置文件窗口停留在百分之零(我等了十五分钟才确定,它仍然是零),所以我想它也被冻结了。

因此我的问题是:

当我无法通过调试应用程序来解决问题时,如何找到导致应用程序冻结的原因?

1 个答案:

答案 0 :(得分:1)

要回答我自己的问题,解决方法是使用其他浏览器。令人惊讶的是,Firefox让我在冻结期间对应用程序进行了分析。剩下的部分很容易,正如我所料:通过将冻结前的分析结果与之后的分析结果进行比较,可以确定哪些代码重复执行。

感谢Aleksey Solovey以及his comment