Digamos que tengo un script JS como el siguiente:
function recurse() { return recurse(); } recurse(); Si ejecuto node recurse.js , por supuesto fallará con el error "Se excedió el tamaño máximo de la pila de llamadas".
¿Cómo puedo hacer que un depurador (por ejemplo, que se ejecute en VS Code) se rompa antes de que ocurra esta excepción, para poder ver qué hay en la pila? Puedo adjuntar un punto de interrupción, pero llevaría una eternidad alcanzar esta excepción.
Maximum call stack size exceeded es una excepción como cualquier otra. Envuelva la llamada en un intento/captura y agregue un punto de parada dentro del bloque de captura, así:
function recurse() { return recurse() } try { recurse() } catch(e) { console.log(e) // <- stop here }