美文网首页
远程debug设置

远程debug设置

作者: 7a3fe179bf61 | 来源:发表于2020-01-03 14:28 被阅读0次

    远程debug

    项目启动设置

    未添加远程debug端口的,如果需要开启远程debug的端口,操作如下:
    修改远程debug的脚本
    cd /data/piaoeda-cloud/
    vim 需要修改的启动脚本,例 restart-income-tax.sh
    java -Xms512m 在java后,-Xms512m之前添加下面代码
    <mark>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=12346</mark>
    <font color=red>注意:address不能与其它服务的端口冲突</font>

    添加完成之后,执行重启脚本:
    ./restart-income-tax.sh 神不知鬼不觉地重启服务!!

    执行到这一步你以为就能远程debug了吗?错了,你是连不上的,内网服务器都是有防火墙的,怎么穿过防火墙呢?

    防火墙配置

    通过修改防火墙配置:
    sudo vim /etc/sysconfig/iptables

    找到合适的一行,添加如下代码:
    -A INPUT -p tcp --dport 12346 -j ACCEPT

    12346指的是你想要开通的端口

    重启防火墙:
    service iptables restart

    OK,执行到这一步你就可以在idea中配置remote进行远程debug了

    idea配置

    idea中的操作:


    image.png

    点击Edit Configurations


    image.png

    填完之后,就可以debug启动了

    在需要打断点的代码中debug,操作81环境的页面,就可以进入到你要debug的代码了!!

    问题

    如果以上动作都做完之后还是不能debug,怎么办!!

    首先确保远程debug的端口不能与服务器上的其它端口冲突:
    netstat -anp|grep PORT
    查看该端口有几个服务占用,如果有两个,恭喜你找到为什么不能debug的原因了,修改远程debug的端口,修改防火墙的端口,修改idea的端口,可以继续了。
    如果只有一个,需要查看一下是否是自己启动的那个项目
    ps -ef|grep [pid] (pid是指进程id)
    如果是的话,再检查防火墙吧,就这两个地方。。。还是不行的话,那你放弃远程debug吧

    注意事项

    <font color=red>切记debug完需要关闭远程debug,不要影响测试同学测试。</font>
    <font color=red>线上环境不可debug</font>。如需打印方法入参出参,又不能重启代码,可以使用Btrace神器写脚本注入代码。

    Btrace具体怎么使用可以自行探索

    相关文章

      网友评论

          本文标题:远程debug设置

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