IDEA如何进行远程Debug

1. 问题背景

项目的部署方式有主要有两种,第一种是以本地SpringBoot直接启动或是非SpringBoot的应用在本地应用服务器进行部署;第二种则是将项目在远程服务器部署。一般本地直接启动的项目可以直接进行DEBUG调试,但是在企业内部或是多人协同的时一般是将项目部署在独立的一台测试服务器上,针对这种情况该如何DEBUG调试的我们的业务代码呢,下面是具体的操作流程。

2. 远程调试端口开启

应用或是系统在远程服务器上一般是通过命令行或是Shell脚本完成应用的启动/关闭,关于启动的参数配置一般是附属在Shell脚本或是JAVA启动命令中来进行配置,比如JVM内存大小java -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=512m,除此之外我们还可以指定调试相关的配置参数:

将配置项中的-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 添加到JAVA启用参数中,然后重启远程服务器
在这里插入图片描述

3. Remote Debug配置

  1. 为了方便调试,首先需要把远程服务器上面需要调试的代码放在本地IDE里面
  2. 在菜单栏选择Run ->Edit Configuration,点击+号,选择Remote JVM Debug,然后在配置项里面输入远程需要调试机器的IP地址和所对应的端口号,最后可以自定义应用名称
    在这里插入图片描述在这里插入图片描述
  3. 再次选择菜单条run按钮,找到debug中“自己设置的项目名字”,点击然后就可以进行远程连接开启Debug调试了
  4. 在本地项目中代码中设置断点,然后就可以在本地debug调试了

4. 总结

无论Remote Debug还是本地IDEA Debug模式其本质就是通过在启用应用时添加参数,底层原理均是基于JVM底层提供的调试能力,然后通过启动参数来确定是否开启Debug端口,唯一的区别是在于IDEA是在集成开发软件中自动来完成调试模式的开启,而自己开启则需要在应用中添加对应的参数来控制Debug功能的开启。 除此之外断点调试的功能也是基于JVM底层已有的能力,只不过是IDEA提供了可视化的工具然开发能够更便捷的Debug。如果不用IDEA或其他开发工具的情况下我们又该如何进行Debug呢? 其实也是可以的,只需要基于JDB本身通过命令行来打断点和调试即可,感兴趣的可以进一步了解下如何通过命令行基于JDB模式来进行Debug调试。为什么需要具备这种能力呢? 因为大企业内部的线上的服务器的网络和办公网络是隔离的,中间经过一层跳板机,直接远程调试是不通的(除非是通过跳板机做端口映射转发),这时候便可以直接在机器上基于JDB来进行调试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蒲春伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值