目录
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”。
添加Remote
单击“+”按钮添加新的远程调试配置。在“Host”字段中输入远程Linux服务器的IP地址或主机名,在“Port”字段中输入5005。
设置如下
保存配置并启动调试会话。在IntelliJ IDEA中,请单击“Run”菜单中的“Debug”按钮。
在调试会话期间,您可以在IDE中设置断点,查看变量和堆栈跟踪,并在远程Linux服务器上(Docker容器中)执行代码。
请注意,您需要在远程Linux服务器上(Docker容器)安装Java开发工具包(JDK),以便在运行Java应用程序时使用调试选项。另外,确保远程服务器的防火墙允许5005端口的传入连接。
连接成功后会输出以下日志, address显示未远程地址