Javascript “如何调试”;未捕获范围错误:超过最大调用堆栈大小“;?

Javascript “如何调试”;未捕获范围错误:超过最大调用堆栈大小“;?,javascript,google-chrome,google-chrome-devtools,Javascript,Google Chrome,Google Chrome Devtools,我不知道是哪部分代码导致了这种情况。 我启用了“捕获异常时暂停”,但它没有暂停。它只是失败了 我可能要指出的一件有趣的事情是,当主JS文件下载完成时,会发生此事件: 另一件有趣的事情是,这个应用程序在Chrome Canary、Firefox和Safari中完美地工作 请走开。我会提供我可能丢失的任何其他相关信息。您可以发布您的代码吗?dev工具会向您显示发生错误的文件。没有代码,我们只能猜测。当您在没有退出条件的情况下递归调用函数时,就会发生这种错误,您可以开始查找引用自身的函数。你还说它可

我不知道是哪部分代码导致了这种情况。 我启用了“捕获异常时暂停”,但它没有暂停。它只是失败了

我可能要指出的一件有趣的事情是,当主JS文件下载完成时,会发生此事件:

另一件有趣的事情是,这个应用程序在Chrome Canary、Firefox和Safari中完美地工作


请走开。我会提供我可能丢失的任何其他相关信息。

您可以发布您的代码吗?dev工具会向您显示发生错误的文件。没有代码,我们只能猜测。当您在没有退出条件的情况下递归调用函数时,就会发生这种错误,您可以开始查找引用自身的函数。你还说它可以在大多数浏览器中使用?你在用什么浏览器?@PatrickHollweck这是一个5万loc的项目。我希望我知道该怪哪段代码。不管怎样,你不认为在其他浏览器中会出现无休止的递归吗?我不会把钱放在那里,我明白了。当然这也会发生在其他浏览器中,但是这个捆绑包肯定有一些不同之处,因为浏览器应该执行完全相同的代码……您可以尝试在代码的开头添加断点/调试器语句,然后单步执行代码,直到出现错误。尝试漂亮地打印出现错误的代码部分,以了解模块是什么造成这个。尝试在不缩小的情况下打包应用程序。此错误可能是由于加载时间过长(缓存是否处于活动状态,是否会在所有操作系统上重复发生?)。如果你点击“索引:1”,你会看到你的索引页面或你的代码(可能是Chrome代码或扩展代码)?说到扩展:尝试禁用扩展。应用程序是否在关闭开发工具的情况下启动?Firefox和其他浏览器是否会在Chrome出现此错误时将内容记录到控制台?