- 部署的ipv6环境, 调试代码发现,发现不支持远程调试,配置后监听的端口只有ipv4的。后来在官网找到依据。
JPDA Connection and Invocation (oracle.com)
The current implementation on the target VM side only supports IPv4
-
具体的通过idea或eclipse远程调试java的帖子非常多,这里不详细说。
-
通过一个端口转发解决联通ipv6的调试端口
-
增加参数启动被调试程序-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=50005,此时50005 监听在包括localhost在内的ipv4端口。
-
允许端口转发:修改/etc/ssh/sshd_config 设置AllowTcpForwarding yes 并重启sshd :systemctl restart sshd
-
在客户端机器(如windows下的git中有ssh)上执行命令连接远程ssh同时开始端口转发
# 4568是windows中开的端口,localhost:50005表示将请求转发到目标机上的localhost:50005, # 最后username@123:45:6:7::89表示登录目标节点的用户和ip ssh -L 4568:localhost:50005 username@123:45:6:7::89
执行命令后输入密码。
-
在idea中连接localhost 4568调试
-
网友评论