javascript - gratis - Google Chrome: cómo depurar errores aleatorios del "Máximo tamaño de pila de llamadas superado"
habilitar javascript en chrome en windows (1)
En una aplicación de JavaScript compleja (con jQuery y Ember), el JavaScript ocasionalmente se bloquea aleatoriamente , ya sea durante la carga de la página o cuando realizo una acción en la página. El error es el siguiente ( screenshot ):
Uncaught RangeError: Maximum call stack size exceeded
Class.proto
Class.proto
...
... con varias páginas de Class.proto
apilar líneas de rastreo, pero sin información de fuente / línea alguna, incluso en la parte inferior del rastreo.
Sé que esto apunta a una recursión infinita, y esto posiblemente podría suceder en el sistema de eventos, pero no hay un punto de partida obvio para mí.
He podido reproducir esto solo en Chrome Canary (22.0.1209.0), no en Chrome stable ni en Firefox. La aplicación no está hablando con ningún servicio externo ni realizando ninguna solicitud de Ajax.
Como ocurre solo ocasionalmente y sin una causa discernible, y como no hay un rastro de pila utilizable, tengo problemas para localizar la causa.
Mi pregunta: ¿Qué puedo hacer para depurar este problema?
Habilite "Interrupción en excepciones" en la barra de herramientas para desarrolladores de Chrome. Utilizar esta icono en el pie de página de la barra de herramientas en la pestaña Orígenes (¡hay 3 estados!)
¡Debería detener tu código y podrás ver la pila!