你想在 VSCode 中进行 Java 的调试(Debug),下面是 从 0 开始配置 VS Code Debug 的完整指南,适用于 Java、Spring Boot、Python、Node.js 等多种语言。本文以 Java + Spring Boot 为例,也会说明前端调试和常见问题排查。


✅ 一、安装调试所需插件(Java 项目)

在 VSCode 扩展中安装:

  • ✅ Java Extension Pack
    包括:

    • Language Support for Java

    • Debugger for Java

    • Maven/Gradle 支持


✅ 二、项目结构要求

你的 Java 项目应包含以下结构:

project-root/
├── src/
│   └── main/
│       └── java/
│           └── com/example/DemoApplication.java
├── pom.xml / build.gradle

确保使用 Maven 或 Gradle 构建。


✅ 三、运行与调试 Java 程序

🌟 方法 1:右键 → Debug

  1. 打开 DemoApplication.java

  2. 在方法或行号边上点击 ➕ 设定断点

  3. 右键 → Debug Java

  4. 或点击顶部菜单 ▶️ → Start Debugging

🌟 方法 2:配置 launch.json 文件(更灵活)

在 .vscode/launch.json 中添加调试配置:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "java",
      "name": "Debug (Launch) - DemoApplication",
      "request": "launch",
      "mainClass": "com.example.DemoApplication",
      "projectName": "your-project-name"
    }
  ]
}
  • mainClass:你的启动类完整路径

  • projectName:如果是 Maven/Gradle 多模块项目


✅ 四、调试 Spring Boot 项目

Spring Boot 项目也可以直接 Debug,设置断点并右键 Debug 即可。

或者你可以让 Spring Boot 在调试端口启动:

./mvnw spring-boot:run -Dspring-boot.run.jvmArguments='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005'

然后 VSCode 配置远程 attach:

{
  "type": "java",
  "name": "Attach to Spring Boot 5005",
  "request": "attach",
  "hostName": "localhost",
  "port": 5005
}

✅ 五、WebClient 或 SSE 流式 Debug 技巧

在 WebClient 发起请求或接收响应的位置打断点:

webClient.get()
         .uri("/sse/stream")
         .retrieve()
         .bodyToFlux(String.class)
         .doOnNext(data -> {
             System.out.println("Data: " + data); // ✅ 可以打断点
         })
         .subscribe();
  • 调试 Flux 时建议配合 .doOnNext.doOnError 使用;

  • 流式返回可能异步,主线程先结束,请注意保持运行状态;


✅ 六、常见问题排查

问题 解决方案
找不到 mainClass 检查 launch.json 中的路径和包名
断点没被触发 确保代码已编译,调试器 attach 到正确进程
无法断点在 Lambda 中 VSCode 支持,但建议在 .doOnNext() 里调试
Maven 项目运行不了 尝试先在终端执行 ./mvnw compile 或重启 IDE

✅ 七、前端(HTML/JS)调试也支持

{
  "type": "chrome",
  "request": "launch",
  "name": "Launch Chrome against localhost",
  "url": "http://localhost:8080",
  "webRoot": "${workspaceFolder}"
}

SSE流 webclient - 菜鸟-创作你的创作

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐