(001) Idea 远程调试服务器程序
·
第一步:配置服务器端 (Linux)
- 启动 Java 程序时增加一组特定的 JVM 参数:
# 推荐写法(适用于 JDK 9 及以上)
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
# 如果是 JDK 8 或更早版本
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
参数详解:
- transport=dt_socket:使用套接字传输。
- server=y:作为服务器端等待调试器连接。
- suspend=n:启动时不挂起。如果设为 y,程序会停在第一行代码等 IDEA 连接后才继续运行(适用于调试启动阶段的 Bug)。
- address=:5005:监听 5005 端口。: 表示允许任何 IP 连接(生产环境请注意安全)。
- 开放防火墙:
确保服务器的防火墙(如 iptables 或 firewalld)以及云平台的“安全组”开放了该端口(示例中为 5005)。
第二步:配置本地 IDEA (Windows)
- 创建一个远程调试配置:

- Host: 填入 Linux 服务器的公网或内网 IP。
- Port: 填入刚才在服务器启动命令中指定的端口(如 5005)。
- Use module classpath: 选择你当前要调试的项目模块。
核心注意事项
-
代码一致性:本地源码必须与服务器上运行的代码完全一致(包括版本和编译后的字节码)。如果代码不一致,断点会跳行或无法进入。
-
性能影响:调试模式会对性能有轻微影响,且如果断点被触发,服务器上的线程会停住。千万不要在生产环境的高并发流量期间长时间断点。
-
连接失败检查清单
- 服务器端口是否被占用?(netstat -tunlp | grep 5005)
- 安全组/防火墙是否放行?
- 如果是云服务器,注意公网 IP 映射问题。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)