远程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具体怎么使用可以自行探索
网友评论