正确配置launch.json并启用调试模式即可调试spring Boot应用。首先通过–debug-jvm或JDWP参数启动应用,开放5005端口;然后在vscode的launch.json中设置type为java、request为attach、端口5005的远程调试配置;最后启动应用并连接调试器,在VSCode中设断点进行调试。注意端口一致性和源码同步,可实现高效问题定位。

使用VSCode调试spring boot应用并不复杂,只要配置好启动项和环境,就能高效定位问题。核心在于正确设置launch.json并确保应用以调试模式运行。
启用Spring Boot调试模式
Spring Boot基于Spring Framework构建,默认集成tomcat或jetty等嵌入式服务器。要调试,先让应用在调试端口监听。
启动时添加JVM调试参数,使应用等待调试器连接:
-
--debug-jvm或手动指定:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 - 推荐在
application.properties或启动命令中加入上述参数 - 若使用maven,可运行:mvn spring-boot:run -Dspring-boot.run.jvmArguments=”-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005″
- gradle用户可用:./gradlew bootRun –args=’–debug-jvm’(需自定义脚本支持)
配置VSCode launch.json
VSCode通过Debugger for Java扩展支持Java调试。确保已安装Extension Pack for Java。
在项目根目录的.vscode/launch.json中添加远程调试配置:
{ “version”: “0.2.0”, “configurations”: [ { “type”: “java“, “name”: “Debug Spring Boot”, “request”: “attach”, “hostName”: “localhost”, “port”: 5005 } ] }
说明:
- type: java 使用Java调试器
- request: attach 表示连接正在运行的JVM
- port 必须与启动时指定的调试端口一致(如5005)
开始调试会话
按以下步骤启动调试:
- 终端中先运行Spring Boot应用,并确认看到类似“Listening for transport dt_socket at address: 5005”的日志
- VSCode中打开任意Java文件,在行号边点击设下断点
- 切换到“运行和调试”侧边栏,选择“Debug Spring Boot”配置,点击启动按钮
- 当请求触发对应代码路径时,执行将暂停在断点处,可查看变量、调用栈、表达式求值
常见问题与建议
调试过程中可能遇到的问题及解决方式:
- 连接超时:检查端口是否被占用,或
suspend=y导致JVM阻塞未启动完成 - 断点无效:确认类已被加载,且源码与编译版本一致(清理重建项目)
- 热重载配合调试:开启
spring.devtools.restart.enabled=true可在修改后自动重启,但需重新连接调试器 - 远程服务器调试:若部署在远程机器,需将
hostName改为对应IP,并开放防火墙端口
基本上就这些。只要JVM启用了调试端口,VSCode就能像idea一样进行本地级调试体验。


