-1

嗨,我正在工作一个有大量 javascript 代码的项目,有时 javascript 代码会自动执行并挂起浏览器并在 chrome 中显示消息“杀死此页面”是否有任何方法可以跟踪错误。就像在无限循环到达或浏览器挂起时调用函数一样那.please给我一些关于调试javascript代码的建议。

4

2 回答 2

1

没有办法在 javascript 中做你想做的事。

但是,您可以使用DynaTrace Ajax Edition之类的工具来跟踪浏览器中的 cpu 使用情况,以确定正在发生的事情。

于 2012-07-17T06:45:41.150 回答
0

许多不同的错误编程逻辑都可能导致无限循环,并且没有可靠的逻辑可以在每种情况下检测到。所以我非常怀疑任何编程语言或 IDE 是否会提供任何可靠的无限循环检测。

你看到的基本上是一个运行时检测,它基于在浏览器更新和刷新 UI 之前脚本执行所花费的时间。

有时这种长时间运行的 JavaScript 可能是由无限循环引起的,但很多时候它们只是大循环或执行过多工作导致 UI 无响应的循环。

因为 JavaScript 不是多线程的,所以为了避免上面的后一种情况,你可以考虑将循环分成小的工作单元,一旦一个单元完成,不要运行下一个单元,而是调用下一个工作单元与 setTimeout 具有较小的时间延迟(如 250 毫秒)。这将使浏览器有机会呼吸和更新 UI,并将您的脚本取消标记为“长期运行”脚本。

您还可以使用诸如Firebug Logging之类的日志记录来记录具有足够值的循环,以帮助您确定这些循环是否确实是无限循环。

于 2012-07-17T06:21:44.530 回答