当前位置: 代码网 > it编程>编程语言>Java > Springboot程序开启远程DEBUG方式

Springboot程序开启远程DEBUG方式

2026年05月09日 Java 我要评论
一、远程debug的原理spring boot程序远程debug的原理主要是通过在启动时指定jvm参数来启用远程调试模式,并在调试器中连接到程序所在的调试地址,从而实现对程序的远程调试。具体步骤如下:

一、远程debug的原理

spring boot程序远程debug的原理主要是通过在启动时指定jvm参数来启用远程调试模式,并在调试器中连接到程序所在的调试地址,从而实现对程序的远程调试。

具体步骤如下:

  • 在运行spring boot程序时,在启动命令的jvm参数中指定远程调试的相关配置,比如指定调试端口和允许远程连接等参数,例如:-xdebug -xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7005
  • 启动spring boot程序后,程序会监听指定的调试端口,并等待调试器连接。
  • 在调试器中创建一个远程调试配置,配置连接到程序所在的服务器和指定的调试端口。
  • 连接成功后,调试器就可以通过远程连接对程序进行调试,包括设置断点、查看变量值等操作。

tips: 需要注意的是,为了避免远程调试带来的安全风险,建议在生产环境中禁用远程调试功能。

二、springboot程序开启远程debug

1、在应用配置(application config)中选择编辑配置(edit configuration)

2、然后选择添加新配置(add new configuration)

3、在展开的列表中选择远程 jvm 调试(remote jvm debug),点击确定

4、根据图中示例配置。

  • 名称可以随意起;
  • 主机地址即远程的公网ip地址;
  • 端口是指的远程debug监听端口,而非该项目的服务端口;
  • jdk选择项目开发对应的jdk版本号;
  • 远程jvm的命令行参数在配置完成以后拷贝下来;
  • 模块类路径即选择主程序包路径。

5、利用maven将项目打包 mvn clean package,放到远程主机上,携带刚刚拷贝的启动参数启动项目,例如:

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7005 -jar ******.jar

6、启动本地调试,监听远程端口

当控制台打印“已连接到目标”,说明本地项目已经开始监听远程端口,此时可以开始远程debug了

7、在本地代码打上断点,使用postman访问远程接口

8、观察到debug信息进入到本地,说明配置成功了。

三、注意事项

  • 在生产环境中不建议开启远程debug: 开启远程debug会增加程序的额外开销,包括网络开销和调试信息的生成,还会造成接口阻塞。
  • 调试信息的保护: 调试信息中可能包含敏感信息,如密码、私钥等,需要仔细过滤或禁止传递这些信息。特别是在使用公共网络时,要注意调试信息的保护和加密。
  • 调试客户端和服务端的一致性: 调试客户端和服务端必须保持一致,包括调试器的版本、jdk的版本和框架的版本等。否则可能会导致不可预期的问题。
  • 调试范围的限制: 开启远程debug时,要明确授权访问权,限制调试的范围,避免潜在的安全风险。
  • 资源占用问题: 调试信息的生成和传输可能会占用大量的资源,包括cpu和内存等,如果不加注意可能会影响程序的正常运行

综上所述,使用远程debug需要慎重考虑,仅在必要时才应该使用,并且要严格控制权限和范围,避免潜在的安全风险。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com