美文网首页
java远程debug

java远程debug

作者: 孤帆逐影 | 来源:发表于2020-10-22 11:22 被阅读0次

    为什么要远程debug

    个人理解俩方面原因

    1.公司项目复杂,启动依赖较多,为了网络安全都是内网配置,还有环境变量限制等等诸多元素导致本地不方便调试

    2.线上项目出问题,本地无法复现,前提切断用户流量,http,dubbo,mq相关流量断开,否则有可能影响正常用户使用流程

    准备工作:

    保证本地ip和远程服务器ip网络能通

    1.服务器 安装socat,socat 安装使用

    socat 理解位转发调试请求到本地

    2.启动脚本修改,开启debug,指定debug参数

    -Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=127.0.0.1:5010

    最后的端口可以修改 按照自己需求即可 此端口和下面 5010 保持一致即可

    3.后台启动socat

    sudo nohup socat TCP4-LISTEN:5013,fork,range=xxx.xxx.xxx.xx/8 TCP4:127.0.0.1:5010 &

    5013就是本地调试时与服务器调试ip

    rang=自己ipxxx.xxx.xxx.xx  /8 代表8比特  

    TCP4 服务器本地ip和debug的端口 5010和上面保持一致即可

    3.把上述参数指定项目重启jar 或者tomcat 重启即可

    4.本地idea 选择remote-输入服务器ip或者域名 port 保存debug 运行即可。

    本地idea启动前保证服务器socat配置正确且再后台运行,远程服务器项目已经开始启动,也可以调试启动过程,前提服务器一启动就本地抓紧启动,要有对应断点。

    相关文章

      网友评论

          本文标题:java远程debug

          本文链接:https://www.haomeiwen.com/subject/amyumktx.html