我用的IDE工具Intel idea
1,首先确保本地代码和服务器代码要保持一致!!!
2.配置idea:点击Application -> Edit Configurations -> 点击"+"号 ->选择 Remote ->
然后配置远程debug的名称、IP和端口号即可,如下图
idea配置完毕!
3.应用启动时添加参数 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888
完整命令如下:
nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888 -jar test.jar
查看是否通过8888端口监听应用成功,可以查看启动日志,如出现以下标志表示监听成功
或者使用如下命令:
netstat -anptu | grep 8888
4.运行idea remote-debug
重点来了。。。*****************************
如果报错无法连接远程服务器或者超时,可以考虑是否服务器防火墙的问题,先用telnet测试网络接口是否通畅
命令如下:telnet IP:port
我就是卡在这一步很久,因为我使用的阿里云的服务器,它不仅需要开放安全组端口8888,还需要关闭防火墙,这样才能telnet测通。
以下命令可以让阿里云服务器(CentOS7)8888端口开放
iptables -I INPUT -p tcp --dport 8888 -m state --state NEW -j ACCEPT
然后运行命令 iptables-save > /etc/sysconfig/iptables 保存添加的规则
5.最后再去远程debug就可以了!效果如下:
启动前,仅有debug按钮:
启动后,控制台输出:Connected to the target VM, address: '47.104.1.1:8888', transport: 'socket'
如有问题可留言,分享让编码更容易~~~