针对在linux上运行的JDK 14应用程序,在JVM参数中添加以下代码:
将地址从
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
,会导致如下错误。Starting Main...
ERROR: transport error 202: socket creation failed: Address family not supported by protocol
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [open/src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c:734]
将地址从
*:5005
更改为localhost:5005
似乎可以工作,但它只绑定到本地主机。我知道*:5005
在JDK 12上可以工作,但我找不到任何关于此的更改记录。事实上,JPDA规范仍然提到了jse 14的*
选项https://docs.oracle.com/en/java/javase/14/docs/specs/jpda/conninv.html。有人有什么想法可以帮忙吗?是一个错误还是一种特性,我似乎找不到相关的文档。
[::]
。显然,您的系统不支持IPv6。请尝试使用0.0.0.0:5005
,或者添加-Djava.net.preferIPv4Stack=true
JVM选项。 - apangin