关于远程debug的一些事

首先,远程debug需要项目的启动,我这边采用的是docker构建镜像的方式,也可以使用传统jar包命令的方式;然后需要明确一个东西,就是远程debug暴露的端口不是项目端口,而是jvm端口。
这边给出我构建镜像使用的dockerfile:

FROM openjdk:11
LABEL maintainer="zhuiliDylan"
VOLUME /usr/docker
ADD {jar包名称}.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005","/app.jar"]

dt_socket:使用的通信方式
server:是主动连接调试器还是作为服务器等待调试器连接
suspend:是否在启动JVM时就暂停,并等待调试器连接
address:地址和端口,地址可以省略,两者用冒号分隔

构建镜像启动容器后就可以使用远程debug去调试
打开本地项目选择增加启动类Remote JVM Debug
在这里插入图片描述
添加一个启动类,输入IP地址和端口号,默认暴露5005,ip地址就是你的服务器或虚拟机地址,这里可能会出现一个问题,就是连接被拒绝,这个时候可以用电脑的cmd,
使用telnet ip 5005,例如telnet 127.0.0.1 5005,注意中间ip和端口之间是空格,去连一下本机和服务器 或者虚拟机的端口是不是能连通的,如果不行:
(这里的telnet命令windows需要打开自带的客户端,这里可以去网上搜索一下,切记打开了需要重启电脑)
虚拟机需要使用虚拟机网络编辑器,在虚拟机编辑选项里面:
![](https://img-blog.csdnimg.cn/679504b15a334066b3fbde5ee7b65820.png在这里插入图片描述
我这里使用NAT连接的,可以点击NAT设置
在这里插入图片描述
添加一个虚拟机ip映射主机ip地址,将暴露的端口映射到主机上,然后调整主机防火墙入站规则添加暴露5005端口,找到控制面板中系统安全的防火墙:
在这里插入图片描述
点击高级设置
在这里插入图片描述点击右侧新建规则,再点击端口
在这里插入图片描述
一直点下一步,暴露5005端口,就可以试试能不能telnet通虚拟机,然后进行远程debug调试。
如果是服务器的话只需要操作防火墙连接。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值