在 Debian 上进行 Java 远程调试的标准做法
一 准备环境
sudo apt update && sudo apt install openjdk-17-jdkjava -versionJAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64",执行 source /etc/environment 生效。二 启用远程调试的两种方式
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar your_app.jartransport=dt_socket:使用 Socket 传输server=y:当前 JVM 作为调试服务器suspend=n:启动不暂停;如需等调试器连上再启动,改为 yaddress=5005:监听端口(可自定义,如 8000、9000)java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -jar your_app.jarJAVA_OPTS="${JAVA_OPTS} -agentlib:jdwp=transport=dt_socket,address=0.0.0.0:8000,server=y,suspend=n"sudo systemctl restart tomcat9三 开放防火墙与安全组端口
sudo ufw allow 5005/tcpsudo firewall-cmd --zone=public --add-port=5005/tcp --permanent && sudo firewall-cmd --reload四 在 IDE 中连接远程调试
五 Docker 与 Kubernetes 场景
docker run -p 8080:8080 -p 5005:5005 my-java-app java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar /app.jar六 常见问题与注意事项
ss -ltnp | grep 5005 或 netstat -tlpn | grep 5005-agentlib:jdwp;仅在老版本需要时再用 -Xdebug -Xrunjdwp。