在复杂的 JavaScript 应用程序(使用 jQuery 和 Ember)中,JavaScript 偶尔会随机崩溃,无论是在页面加载期间还是当我在页面上执行操作时。错误如下(screenshot):
Uncaught RangeError: Maximum call stack size exceeded
Class.proto
Class.proto
...
...有几页 Class.proto
堆栈跟踪行,但没有任何源/行信息,即使在跟踪的底部也是如此。
我知道这指向无限递归,这可能会发生在事件系统中,但对我来说没有明显的起点。
我只能在 Chrome Canary (22.0.1209.0) 中重现此内容,而不能在 Chrome 稳定版或 Firefox 中重现。该应用程序未与任何外部服务通信或发出任何 Ajax 请求。
因为它只是偶尔发生,没有明显的原因,而且没有可用的堆栈跟踪,所以我很难找到原因。
我的问题:我该怎么做才能调试这个问题?
最佳答案
在 Chrome 开发者工具栏中启用“Break on exceptions”。使用这个 源 选项卡上工具栏底部的图标(有 3 种状态!)
它应该停止你的代码,你可以看到堆栈!
关于javascript - 谷歌浏览器 : How to debug random "Maximum call stack size exceeded" errors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11544321/