Remote Debug使用

459 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情

我要一步一步往上爬~大家好我是青三阿,今天我们来一起学习一下远程Debug这个概念。

场景:最近遇到了大型项目编译上的一个问题,由于项目采用的是Maven编译,出现了有一些依赖无法下载的情况,因此就不能对项目进行正常的编译了,这个时候Remote Debug就可以大显身手了!

什么是远程Debug?

远程debug是在一台服务器上对远程的另一台服务器上任何java进行debug。

它的实现原理是:Java程序是以字节码的形式统一在JVM中运行的,不同平台上的虚拟机使用的都是相同的程序存储格式,因此本机和远程服务器两个VM就可以使用Debugu协议通过Socket通信,传递的是调试消息和指令。

被调试的程序称为 debuggee,调试的程序被称为debugger

特别注意: 本机上和远程服务器上的代码必须保持版本一致!!不然会造成断点无法进入的问题(表现为打断点时出现一个灰色+斜杠的圈圈)。

远程Debug步骤

  1. 本机Intellij IDEA配置
  • 打开Inteliij IDEA,菜单栏选择Run--Edit Configurations

  • 选择左上角 + 号-- Remote选项,只需要填写2个配置项:Host、Port、(想要指定的远程服务器的IP地址和端口),Use module classpath配置与远程服务器对应的模块代码,点击 OK 即可完成配置。

需要注意:这里的JDK版本需要和远程服务器配置一致

图片1.png

  1. 远程服务器配置
  • 项目配置文件中添加配置:把图片中的Command line arguments for remote JVM中的配置信息拷贝过来,保存

参数说明:suspend=y/n 表明是否在建立连接之后启动VM,设置为y时是阻塞模式。

  1. 远程启动服务监听端口,IDEA启动Debug

  2. 在IDEA下方进行调试

大家有什么疑问欢迎评论区和我交流~