Das Problem bei der Erkennung von Stackoverflows besteht darin, dass sich der Stacktrace manchmal abwickelt und man nicht sehen kann, was tatsächlich passiert.
Ich habe einige der neueren Debugging-Tools von Chrome für nützlich befunden.
Drücken Sie die Performance tab
vergewissern Sie sich Javascript samples
aktiviert sind, erhalten Sie etwa folgendes Bild.
Es ist ziemlich offensichtlich, wo hier der Überlauf ist! Wenn Sie auf extendObject
können Sie die genaue Zeilennummer des Codes sehen.
Sie können auch Zeitangaben sehen, die entweder hilfreich oder ein Ablenkungsmanöver sein können.
Ein weiterer nützlicher Trick, wenn Sie das Problem nicht wirklich finden können, ist, viele console.log
Erklären Sie, wo Ihrer Meinung nach das Problem liegt. Der obige Schritt kann Ihnen dabei helfen.
Wenn Sie in Chrome wiederholt identische Daten ausgeben, werden diese wie folgt angezeigt und zeigen deutlicher, wo das Problem liegt. In diesem Fall erreichte der Stapel 7152 Frames, bevor er schließlich abstürzte:
4 Stimmen
Ich bekam diesen Fehler, als ich versuchte, Variablen (ohne sie zu deklarieren) zu senden, durch
data
in Ajax. Der Fehler wurde durch Deklaration der Variablen behoben.0 Stimmen
Endlosschleife ...
0 Stimmen
Bei mir war der Name meiner JavaScript-Funktion onclick() und ich bekam diesen Fehler :-) Dies sind zwar reservierte Namen