IntelliJ远程调试教程

概述
对于分布式系统的调试不知道大家有什么好的方法?在知道远程调试这个方法之前就是在代码中打各种log,然后重新部署,上线,调试,这样比较费时。今天咱们来了解了解Java远程调试这个牛逼的功能,本文以Intellij IDEA为例讲解怎么使用远程调试。

服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地的代码必须和远程服务器运行的代码一致)中设置断点,每当有请求到远程服务器时时能够在本地知道远程服务端的此时的内部状态。

下面按照步骤介绍怎么远程debug。

使用特定JVM参数运行服务端代码
要让远程服务器运行的代码支持远程调试,则启动的时候必须加上特定的JVM参数,这些参数是:

-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=${debug_port}

其中的${debug_port}是用户自定义的,为debug端口,本例以5005端口为例。

为了不影响别人使用服务,可以把服务端口,别名改成自己特定的,就相当在服务器上启动一套同样的服务了
在这里插入图片描述

然后idea打包,
把 .jar文件上传部署的服务器上,在所在的目录执行下面命令启动:

java -Xms256m -Xmx800m -Dspring.profiles.active=testxia -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5005 -jar  aflc-common-service-1.0.2.jar 

-Xms256m -Xmx800m 指定启动jvm内存的大小
-Dspring.profiles.active=testxia 指定自定义的配置文件

等Eureka里面注册成功
在这里插入图片描述

本地连接远程服务器debug端口
打开Intellij IDEA,在顶部靠右的地方选择”Edit Configurations…”,进去之后点击+号,选择”Remote”,按照下图的只是填写红框内的内容,其中host为远程代码运行的机器的ip/hostname,port为上一步指定的debug_port,本例是5005

在这里插入图片描述

在这里插入图片描述

然后点击Apply,最后点击OK即可

启动debug模式
现在在上一步选择”Edit Configurations…”的下拉框的位置选择上一步创建的remote的名字,然后点击右边的debug按钮(长的像臭虫那个),看控制台日志,如果出现类似**“Connected to the target VM, address: ‘xx.xx.xx.xx:5005’, transport: ‘socket’”**的字样,就表示连接成功过了。

在这里插入图片描述

在这里插入图片描述

设置断点,开始调试

远程debug模式已经开启,现在可以在需要调试的代码中打断点了,

操作跟本地断点是一样的了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值