Pude depurar un simple hello world de Java. El primer paso fue "compilar" con javac -g . Busqué cómo lograría lo mismo con maven y encontré http://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-debug.html , pero esas instrucciones son para ejecutar el aplicación y espere a que se conecte un depurador.
También traté de usar target/classes para classpath en launch.json . El depurador se queja de que no puede encontrar un archivo en el directorio raíz / , pero se ejecuta. Aunque el depurador se está ejecutando, la aplicación no responde a las solicitudes HTTP.
¿Existe un comando mvn para compilar la aplicación con javac -g y producir una .class que el depurador pueda ejecutar correctamente?
Solo podrá depurar de forma remota con el código vs, por lo que un comando simple será mvnDebug spring-boot:run , que hará lo mismo que mvn spring-boot:run pero agregará estas opciones:
-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=yLuego puede adjuntar desde el código vs, un ejemplo de launch.json se ve así:
{ "version": "0.2.0", "configurations": [ { "type": "java", "name": "Debug (Launch)", "request": "launch", "mainClass": "", "args": "" }, { "type": "java", "name": "Debug (Attach)", "request": "attach", "hostName": "localhost", "port": 8000 } ] } y puede seleccionar Debug(Attach) desde el panel de depuración para ejecutar.
Suponiendo que haya instalado el paquete de colección Java Extension Pack de Microsoft, la depuración de las aplicaciones Maven Spring Boot parece funcionar de inmediato .
Inicie el code desde el directorio raíz del proyecto y "Iniciar depuración". Hay varias formas de iniciar el depurador: la más sencilla es presionar F5 y, si lo solicita, seleccionar Java .
En condiciones nominales, esto desencadena los siguientes pasos:
main de su aplicación, que debe incluir SpringApplication.run()Enlaces relacionados: