未捕获RangeError故障排除:超出最大调用堆栈大小

时间:2015-06-17 09:21:36

标签: javascript debugging google-chrome-devtools javascript-debugger

我仅在Mac计算机上的Safari和Chrome中收到此错误,但无法在其他浏览器或Windows上重现。 主要问题 - 没有关于导致问题的功能的信息。在异常之前没有最近调用的堆栈跟踪。甚至“暂停异常”设置也无效。它没有暂停此异常,只将信息放入控制台。

如何解决导致问题的原因,崩溃的功能,崩溃前的调用堆栈是什么? 或者我如何记录所有函数调用(重要的是,在页面加载后应立即启动探查器)。

1 个答案:

答案 0 :(得分:1)

我已经设法找到导致错误的点,所以这里有一些建议给那些将面临同样问题的人:

  • console.log 是您的朋友。我还没有在Google Chrome中找到一个选项,可以跟踪页面加载后立即开始的所有方法调用。即使有这样的设置,您将看到的通话量可能非常大。因此,无论何时调用某个函数,都可以使用console.log进行记录。
  • 评论部分代码。在我的情况下,js文件非常庞大,至少找到导致错误的代码部分是有帮助的。所以我开始通过safelly逐一评论代码。
  • 使用上面的技术我发现问题出现在混淆代码中,所以我接下来尝试的是逐个禁用混淆选项。通过这种方法,我发现在启用'字符串拆分时出现了问题。混淆选项。另外,我在code.google.com铬44604756588上找到了这些问题。