es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo uso el depurador `node inspect` en una aplicación que utiliza la entrada estándar?

Estoy tratando de rastrear la fuente de un error en una aplicación Node que no viene con un seguimiento de pila.

El depurador node inspect tiene un comando breakOnException que creo que me ayudará.

Pero mi aplicación necesita recibir información de la entrada estándar antes de que se produzca el error que estoy buscando, y parece que node inspect deja mi entrada estándar enviándose a un indicador persistente debug> incluso después de que haga continue, cuando la aplicación depurada se está ejecutando y no está en pausa. Esto es diferente de gdb, donde cuando haces continue el indicador del depurador desaparece y necesitas pausar la aplicación con Ctrl+C para recuperarlo.

¿Cómo hago que el indicador de node inspect desaparezca para poder escribir datos de entrada en la aplicación que se está depurando? Alternativamente, si ejecuto la aplicación con node --inspect para la depuración remota, ¿cómo puedo conectarme a una sesión de depuración remota desde la línea de comandos?

Sé que un navegador o un IDE como VSCode pueden conectarse a una sesión remota de inspección de NodeJS, pero no puedo encontrar una forma de conectarme con el depurador de línea de comandos integrado en node.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para hacer que desaparezca el mensaje de “node inspect” para poder escribir entrada en la aplicación que se está depurando, puedes utilizar el comando “repl” para entrar en el contexto de depuración y luego utilizar el comando “.exit” para salir de nuevo al contexto de la aplicación.

    También puedes ejecutar la aplicación bajo “node –inspect” para la depuración remota y conectarte a ella utilizando el protocolo Chrome DevTools en una ventana separada de Chrome. Para hacerlo, puedes utilizar el siguiente comando:

    chrome --remote-debugging-port=9229
    

    Esto abrirá una nueva ventana de Chrome con el protocolo DevTools habilitado. Luego, navega hasta “chrome://inspect” en la barra de direcciones y haz clic en el enlace “Abrir DevTools dedicados para Node”.

    A partir de ahí, deberías ver una lista de procesos de Node disponibles para conectarse. Haz clic en el enlace “inspect” junto al proceso que desees depurar y deberías estar conectado a la sesión de depuración remota en tu ventana de Chrome.

Comments are closed.