IDEA实现java远程调试全过程
作者:终有链响
文章主要介绍了如何在IntelliJ IDEA中配置远程调试参数,包括transport、server、suspend、address等选项的含义和作用,以及如何配置服务器防火墙以支持远程调试
为啥要用呢?唉,其实有些线上问题,其实你怎么log也不如远程调试一下呀。
idea配置



启动所要连接的服务
java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 *****.jar
参数说明
transport:debugee与debuger调试时之间的通讯数据传输方式。server:是否监听debuger的调试请求。suspend:是否等待启动,也即设置是否在debuger调试链接建立后才启动debugee JVM。address:debugee的地址,用于debuger建立调试链接。- 本地的为debugger,远程的为debugee。
对应监测端口开放
启动命令中 5005就是服务对外提供的远程调试访问端口,服务器防火墙要对应开放,否则也连接不上。
- 命令
1、开启防火墙
systemctl start firewalld
2、开放指定端口
firewall-cmd --zone=public --add-port=1935/tcp --permanent
命令含义:
- –zone #作用域
- –add-port=1935/tcp #添加端口,格式为:端口/通讯协议
- –permanent #永久生效,没有此参数重启后失效
3、重启防火墙
firewall-cmd --reload
4 、查看对外开放的所有端口
firewall-cmd --list-ports
idea开启远程连接

链接成功后控制台会输出以下信息

必须准备的条件
你的服务代码,必须与你idea远程连接的本地代码一模一样,否则调试可能遇到你无法想象的问题。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
