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

如何在AWS Cloud9中为Spring Boot应用挂载内置调试器?

AWS Cloud9 内置调试器对接Shell启动的Spring Boot实操方案

不用切换到Runner: Auto,也不用依赖mvnDebug的独立调试模式,按以下步骤配置即可直接使用IDE内置调试器的断点、变量查看、单步执行等全部功能:

    1. 修改你已创建的shell command类型运行配置的启动命令,替换为如下内容:
mvn spring-boot:run -f pom.xml -DlogPathProperty=/path/to/log/directory -Dspring-boot.run.jvmArguments="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5858"

参数说明:

  • 5858是AWS Cloud9内置调试器默认适配的Java调试端口,不需要额外修改调试器的端口配置
  • suspend=n表示应用启动时不等待调试器连接,正常启动;如果需要调试应用启动阶段的初始化逻辑,把该值改为suspend=y即可,应用会暂停在启动入口,等调试器连接后再继续执行
    1. 保存运行配置后,点击常规运行按钮启动应用,当控制台输出Listening for transport dt_socket at address: 5858时,说明调试端口已正常开启
    1. 打开Cloud9调试面板,调试目标选择「Attach to Runner」(部分老版本显示为「Attach to Local Process」),语言选择Java,直接点击连接按钮即可挂载内置调试器,不需要额外配置其他参数

常见问题处理

  • 如果断点命中失败:在上述启动命令末尾追加-Dspring-boot.run.fork=false参数即可。部分版本的Spring Boot Maven插件会fork独立进程运行业务代码,导致JDWP参数没有加载到实际运行业务的JVM上,关闭fork后Maven和业务代码运行在同一进程,调试器可正常识别代码断点。
  • 不要直接替换mvn为mvnDebug启动:mvnDebug默认开启8000调试端口,且调试代理挂载在Maven构建进程而非Spring Boot业务进程上,即使手动修改调试器端口连接,断点也只会命中Maven的构建逻辑,无法触发业务代码的断点。
  • 如果提示端口连接失败:检查是否有其他进程占用了5858端口,可通过lsof -i:5858命令查看占用进程,杀掉后重启应用即可。

内容的提问来源于stack exchange,提问作者J. Dufresne

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 04:54:27