Depuración y diagnóstico
El proceso de depuración en Node.js debe empezar en modo Inspect que expone un protocolo remoto que puede ser conectado y permite diagnosticar a través de puntos de interrupción.
Last updated
Was this helpful?
El proceso de depuración en Node.js debe empezar en modo Inspect que expone un protocolo remoto que puede ser conectado y permite diagnosticar a través de puntos de interrupción.
Last updated
Was this helpful?
Iniciar un proceso en modo inspect.
Conectar un proceso en modo inspect para depurarlo.
Comprender que son los breakpoints (puntos de ruptura o interrupción).
Node.js soporta el protocolo de depuración remota como chrome DevTools.
Para activar el modo inspección: node --inspect index.js
Activar el modo inspección pero iniciando con un breakpoint activo (Inspect Break mode) al inicio del programa: node --inspect-brk index.js
Si no utilizamos los flags anteriores, la aplicación se inicializará por completo y estará realizando tareas asíncronas antes de que pueda establecer los breakpoints.
Ejemplo utilizando Chrome Devtools:
Vamos a crear un pequeño programa con el algoritmo recursivo de fibonacci.
Ejecutamos en modo inspección:
Abrimos Chrome e ingresamos a chrome://inspect/#devices:
Click en inspect y nos abrirá una instancia DevTools que está conectada con el proceso de Node:
Si deseamos que haga una pausa en excepciones detectadas, debemos dar click en "Pause on caught exceptions":
Esta funcionalidad es útil para localizar excepciones dentro del código, ya que nos muestra la pila de llamadas (Call Stack).
Agreguemos un breakpoint y veamos el comportamiento del call stack:
En algunos casos se puede agregar un breakpoint directamente en el código, utilizando el flag --inspect,
y agregándole en el código la declaración debugger
(línea 5):
No es buena práctica utilizar esta estrategia (debugger) por el impacto de rendimiento.
Para mayor información acerca de otras herramientas para depurar: