You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从命令提示符调试Spring Boot代码?能否用STS调试命令行启动实例?

如何从命令提示符调试Spring Boot应用 & 用STS调试命令行启动的应用

嘿,我来帮你搞定这两个问题!下面分两部分详细说明:

一、从命令提示符直接调试Spring Boot应用

要在命令行下调试Spring Boot应用,首先得让应用开启远程调试模式,然后用JDK自带的jdb工具连接调试。

1. 启动带调试参数的Spring Boot应用

根据你启动应用的方式,选择对应的命令:

  • 如果用Maven启动:
    mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
    
  • 如果是直接运行Jar包:
    java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 your-spring-boot-app.jar
    

参数解释:

  • transport=dt_socket:指定调试用的通信协议
  • server=y:让应用作为调试服务器,等待调试器连接
  • suspend=n:应用启动时不挂起,直接运行(如果要调试启动初始化逻辑,改成suspend=y,应用会暂停在启动阶段,等调试器连接后再继续)
  • address=5005:调试监听的端口,选一个没被占用的就行

2. 用jdb命令行工具调试

打开另一个命令提示符窗口,执行:

jdb -attach localhost:5005

连接成功后,就可以用jdb的调试命令操作了,常用的有:

  • stop at 包名.类名:行号:设置断点,比如stop at com.example.demo.DemoController:20
  • run:继续执行(如果之前用了suspend=y)
  • next:单步执行(不进入方法)
  • step:单步执行(进入方法)
  • print 变量名:查看变量值
  • list:显示当前代码附近的内容

不过说实话,命令行的jdb用起来不如IDE顺手,所以更推荐下面的STS调试方案。

二、用STS调试命令提示符启动的Spring Boot应用

完全可以!这也是提升开发效率的好办法,步骤如下:

1. 先按上面的方法,用命令行启动带调试参数的Spring Boot应用

确保应用已经启动并监听了调试端口(比如5005)。

2. 在STS中配置远程调试连接

  1. 打开STS,点击顶部菜单栏的Run -> Debug Configurations
  2. 在弹出的窗口左侧,找到Remote Java Application,右键选择New
  3. 在配置页面填写以下信息:
    • Project:选择你的Spring Boot项目(确保STS里的代码和命令行运行的代码版本完全一致,不然断点会不匹配)
    • Connection Type:选择Standard (Socket Attach)
    • Host:填localhost(如果应用在远程服务器上,就填服务器IP)
    • Port:填你启动应用时设置的调试端口(比如5005)
  4. 点击Debug按钮,STS就会连接到命令行启动的应用了

3. 开始调试

连接成功后,你就可以像平时在STS里调试本地启动的应用一样:

  • 在代码里设置断点(点击行号左侧的空白处)
  • 触发应用的请求(比如调用接口),代码会停在断点处
  • 查看变量、单步执行、评估表达式等操作都和本地调试完全一样

注意事项

  • 调试端口不要被其他程序占用,如果5005被用了,换个端口比如5006就行
  • 如果要调试应用启动时的初始化代码(比如Bean初始化),记得把启动参数里的suspend=n改成suspend=y,这样应用会等待STS连接后再继续启动
  • 确保STS中的代码和命令行运行的Jar包代码一致,否则断点可能无法命中

内容的提问来源于stack exchange,提问作者Mayur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:25:52