¿Iniciar sesión de depuración en la aplicación de nodo en ejecución y adjuntar el depurador de nodo?

He escuchado muchos rumores sobre la posibilidad de crear una sesión de depuración en una aplicación de nodo en ejecución al pasar SIGUSR1 a la aplicación.

Lo que significa que no tengo que iniciar una aplicación con el node debug app.js para adjuntarle un depurador.

¿Cómo envío SIGUSR1 a mi aplicación y luego adjunto un cliente de depuración al proceso? Sería especialmente útil si pudiera hacer esto desde un contenedor de Docker con solo un node .

Cómo enviar SIGUSR1

  1. Use kill -l para ver una lista de señales.
  2. En mi caso USR1 corresponde a 10 .
  3. ps para encontrar el proceso al que quiero enviar la señal.
  4. kill -10
  5. Una sesión de depuración ya está abierta.

Adjuntando el depurador.

  1. node debug localhost:5858

5858 es el puerto predeterminado para el depurador heredado. En el node8 envío de USR1 activará el nuevo protocolo de inspector , pero hasta entonces, así es como puede iniciar y conectar el depurador en una aplicación en vivo.

Mire este espacio para actualizaciones: https://nodejs.org/en/docs/guides/debugging-getting-started/