首页 > 解决方案 > 如何调试“超出最大调用堆栈大小”等错误

问题描述

我有一个 Ionic/angular 项目,我暂停了一段时间。我继续处理它,但控制台出现错误。用户效果是 10-15 秒内没有显示任何内容,然后我的 google 已加载,但随后我看不到任何功能。

core.js:4197 ERROR RangeError: Maximum call stack size exceeded
    at MapSubscriber._error (Subscriber.js:75)
    at MapSubscriber.error (Subscriber.js:55)
    at MergeMapSubscriber.notifyError (OuterSubscriber.js:7)
    at InnerSubscriber._error (InnerSubscriber.js:14)
    at InnerSubscriber.error (Subscriber.js:55)
    at CatchSubscriber._error (Subscriber.js:75)
    at CatchSubscriber.error (Subscriber.js:55)
    at CatchSubscriber.error (catchError.js:32)
    at MergeMapSubscriber.notifyError (OuterSubscriber.js:7)
    at InnerSubscriber._error (InnerSubscriber.js:14)

我搜索了一下,我已经从 angular 10 更新到 angular 11,更新了所有库,在 stackoverflow 上找到了很多答案,包括这个 Angular 7 错误 RangeError: Maximum call stack size exceeded

但我不知道哪里会导致问题。

我试图在我所在页面的ngOnInit/上评论所有内容constructor,但没有成功。

如何找到此类错误的根本原因?我真的迷路了,我不知道该怎么办,这只是让我的应用程序冻结 10-15 秒然后崩溃。

在此之后我有一个 firebase 超时,但我想这是因为 angular 忙于处理这个调用堆栈问题。

标签: angulardebuggingionic-framework

解决方案


这不是一个普遍的答案,但我希望它可以举一些例子:

在我的例子中,我是从模块 B 引用模块 A,从模块 A 引用模块 B,所以这个循环引用导致了堆栈溢出,导致了这个结果。


推荐阅读