繁体   English   中英

如何在 vs 代码中调试 Java maven spring-boot 应用程序?

[英]How to debug a Java maven spring-boot app in vs code?

我能够调试一个简单的 Java hello world。 第一步是使用javac -g进行“编译”。 我查找了如何使用 maven 完成相同的操作并找到http://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-debug.html ,但这些说明用于运行应用程序并等待调试器连接。

我还尝试在launch.json使用target/classes作为classpath 调试器抱怨它在根目录/找不到文件,但它运行了。 尽管调试器正在运行,但应用程序并未响应 HTTP 请求。

是否有mvn命令使用javac -g编译应用程序并生成调试器能够成功运行的.class

您将只能使用 vs 代码进行远程调试,因此一个简单的命令将是mvnDebug spring-boot:run ,它将执行与mvn spring-boot:run相同的操作,但添加以下选项:

-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y

然后你可以从 vs 代码中附加,一个示例 launch.json 看起来像:

{
 "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
    }
  ] 
}

并且您可以从调试面板中选择Debug(Attach)来运行。

假设您已经安装了 Microsoft调试 Maven Spring Boot 应用程序收集包Java Extension Pack集合包,这似乎是开箱即用的

从项目的根目录启动code并“开始调试”。 有多种方法可以启动调试器——最直接的方法是点击F5 ,如果它询问,选择Java

在标称条件下,这会触发以下步骤:

  1. 你的应用程序被编译成类文件
  2. 它查找并启动您的应用程序的main功能——其中应包括SpringApplication.run()
  3. 应用程序运行(启用断点)并将日志输出发送到 TERMINAL 面板。

相关链接:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM