Idea远程调试Linux服务器(和docker容器)中的Java服务,实测可用

目录

idea远程调试linux上的java服务

idea远程调试linux上docker中的java服务

本地配置

打开设置

添加Remote


环境:java1.8

idea远程调试linux上的java服务

在远程Linux服务器上启动Java应用程序时,请使用以下命令行选项启用调试:

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar yourapp.jar

这将启动Java应用程序并在5005端口上启用调试功能

idea远程调试linux上docker中的java服务

在Docker容器中运行Java应用程序时,请使用以下命令行选项启用调试:

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar yourapp.jar

这将启动Java应用程序并在5005端口上启用调试功能

如确认防火墙无问题还是无法连接, 或者启动docker容器报错

iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport

试试重启docker,systemctl restart docker

无意间看到java9是address=*:5005, 未尝试

本地配置

打开设置

在本地机器上,使用IDE(例如IntelliJ IDEA)打开Java应用程序的项目。在IDE中配置远程调试。在IntelliJ IDEA中,请转到“Run”菜单,然后选择“Edit Configurations”。

Idea远程调试Linux服务器(和docker容器)中的Java服务,实测可用_第1张图片

添加Remote

单击“+”按钮添加新的远程调试配置。在“Host”字段中输入远程Linux服务器的IP地址或主机名,在“Port”字段中输入5005。

Idea远程调试Linux服务器(和docker容器)中的Java服务,实测可用_第2张图片

设置如下

Idea远程调试Linux服务器(和docker容器)中的Java服务,实测可用_第3张图片

保存配置并启动调试会话。在IntelliJ IDEA中,请单击“Run”菜单中的“Debug”按钮。

在调试会话期间,您可以在IDE中设置断点,查看变量和堆栈跟踪,并在远程Linux服务器上(Docker容器中)执行代码。

请注意,您需要在远程Linux服务器上(Docker容器)安装Java开发工具包(JDK),以便在运行Java应用程序时使用调试选项。另外,确保远程服务器的防火墙允许5005端口的传入连接。

连接成功后会输出以下日志, address显示未远程地址

Idea远程调试Linux服务器(和docker容器)中的Java服务,实测可用_第4张图片

你可能感兴趣的:(开发工具,Java,linux,运维,服务器,idea,面试,docker)