开发工具idea 调试远程项目代码

2 篇文章 0 订阅
1 篇文章 0 订阅

1.条件

  • 远程代码需要和本地供调试的代码一样,不然有问题都找不到,调试端打上断点后显示为X
  • 远程端访问端口需要对外开放可访问

2.远程启动项目配置

如果是启动jar包,指令:

java -Xdebug-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -xxxx.jar
例:

 -Dsite.maskSensitiveInfo.disabled=true -jar -Xmx1G -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5000 yunkong-admin-api-1.0-SNAPSHOT.jar -Dspring.profile.active=dev

这里-Xdebug是通知JVM工作在DEBUG模式下,-Xrunjdwp是通知JVM使用(java debug wire protocol)来运行调试环境。transport是监听Socket端口连接方式(也可以dt_shmem共享内存方式,但限于windows机器,并且服务提供端和调试端只能位于同一台机)。server=y表示当前是调试服务端,=n表示当前是调试客户端。suspend=n表示启动时不中断(如果启动时中断,一般用于调试启动不了的问题)。address=8000表示本地监听8000端口。[1]
如果需要配置服务器Tomcat
进入$TOMCAT_HOME/bin目录下

vi catalina.sh
/OS 搜索到OS specific support
#在# OS specific support.上面添加
export  JAVA_OPTS="$JAVA_OPTS-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"

在这里插入图片描述

本地开发工具调试

  • 1
    在这里插入图片描述

  • 2
    在这里插入图片描述

  • 3
    ip 是远程项目服务器ip port:8000 是上文提到的address=8000
    在这里插入图片描述
    在调试工具debug启动配置的remote即可开始调试,控制台出现这个表示成功
    Connected to the target VM, address: ‘192.168.xx.xx:8000’, transport: ‘socket’

  • 如果端口未开放 [2]

vi /etc/sysconfig/iptables 
#在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT之后添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5005 -j ACCEPT

重启防火墙

service iptables restart

如果嫌麻烦或者对安全要求不高直接关闭防火墙也行

service iptables stop

感谢老铁的资料:

引用1:https://blog.csdn.net/m0_38001814/article/details/79170346
引用2:https://www.jianshu.com/p/f902ac5d29e4

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值