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 evitar que mis puntos de interrupción en VS Code se muevan después de iniciar la sesión de depuración.

Tengo un problema en el que, después de iniciar una sesión de depuración en VS Code para Node.js, mis puntos de interrupción se mueven a líneas completamente diferentes de donde los había establecido.

Antes:

Enlace a captura de pantalla de la interfaz de Visual Studio Code con puntos de interrupción establecidos en las líneas 15 y 18 sin ninguna sesión de depuración en ejecución

Después:

Enlace a captura de pantalla de la interfaz de Visual Studio Code después de que se ha iniciado la sesión de depuración, con los puntos de interrupción que se han movido a las líneas 6 y 10. Los puntos de interrupción en las líneas 15 y 18 ya no están establecidos

Como puedes ver, los puntos de interrupción se movieron de las líneas 15 y 18 a las líneas 6 y 10.

Pensé que esto podría deberse a un problema con mi mapa de origen o algo así (ya que estoy usando TypeScript), pero utilicé source-map-visualization para verificar mi mapa de origen y todo parece estar en orden.

También pensé que esto podría deberse al runner de VS Code, así que intenté ejecutar node --inspect-brk node_modules/.bin/jest --runInBand en mi Terminal y adjuntarlo al proceso dentro de VS Code. Pero el problema persistió.

Estoy usando Jest para ejecutar mis pruebas.

Si solo establezco puntos de interrupción dentro de la prueba Jest en sí, parece tener el mismo problema. Sin embargo, si establezco puntos de interrupción tanto en mis archivos fuente como en las pruebas Jest, los puntos de interrupción de las pruebas Jest no parecen moverse.

He leído la página de solución de problemas de Jest para la depuración en VS Code y seguí los pasos correctamente (asegurándome de usar runInBand, etc.).

También intenté agregar la opción outFiles a mi archivo launch.json de VS Code para apuntar a todos los archivos en mi carpeta dist, pero eso tuvo el efecto secundario de modificar mis archivos de prueba y el problema persistió, por lo que eso no ayudó.

También intenté establecer smartStep en true dentro de mi archivo launch.json, pero eso no hizo ninguna diferencia.

Puedes encontrar el código con el que estoy trabajando en la rama debuggingBreakpointFix de dynamoose. Simplemente ejecutar npm install, establecer algunos puntos de interrupción y ejecutar Debug Jest Tests en VS Code debería ser suficiente para reproducir el problema.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sesión de depuración en VS Code para Node.js hace que los puntos de interrupción se muevan a diferentes líneas

    Problema

    Después de iniciar una sesión de depuración en VS Code para Node.js, los puntos de interrupción establecidos se mueven a líneas completamente diferentes de donde se establecieron inicialmente.

    Intentos de solución

    • Verifiqué el mapa de origen utilizando source-map-visualization
    • Intenté ejecutar node --inspect-brk node_modules/.bin/jest --runInBand en la Terminal y adjuntarlo al proceso dentro de VS Code
    • Seguí la página de solución de problemas de Jest para el depuración en VS Code
    • Agregué la opción outFiles al archivo launch.json de VS Code
    • Establecí smartStep en true dentro del archivo launch.json

    Código

    El código que causa el problema se puede encontrar en la rama debuggingBreakpointFix del repositorio de GitHub de dynamoose. Simplemente ejecute npm install y establezca algunos puntos de interrupción para reproducir el problema.

    Conclusión

    El problema persiste a pesar de los intentos de solución. Establecer puntos de interrupción solo dentro de las pruebas de Jest parece tener el mismo problema, pero establecerlos dentro de archivos de origen y pruebas de Jest no lo tiene. Puede ser necesario realizar una investigación adicional para resolver este problema.

Comments are closed.