java - 在 jdk 14 应用程序上启用 jdwp 导致协议(protocol)错误不支持地址系列

标签 java remote-debugging jdwp

对于在 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似乎可以工作,但它只绑定(bind)到本地主机。我知道 *:5005在 JDK 12 上工作,我找不到任何更改,事实上 JPDA 规范仍然提到 * jse 14 的选项 https://docs.oracle.com/en/java/javase/14/docs/specs/jpda/conninv.html .有人知道我可以调查什么吗?它是我似乎无法找到文档的错误还是功能。

最佳答案

正如@apangin 在评论中建议的那样。解决方法是将地址指定为0.0.0.0:5005或设置-Djava.net.preferIPv4Stack=true JVM 参数。

关于java - 在 jdk 14 应用程序上启用 jdwp 导致协议(protocol)错误不支持地址系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63955736/

相关文章:

java - 在android中缩进TextView文本

javascript - 使用 chrome devtools 检查每个 USB 的 cordova android 应用程序会导致空白屏幕

Java JVMTI 不能与 -Xdebug -Xrunjdwp 一起工作

android - 如何调试从 'adb shell am start -D ' 开始的 android 应用程序?

java - java中如何调用带有Object参数而不是实际参数类型的方法?

java - 如何在java中打开另一个目录中的文件?

Phonegap应用程序的Android远程调试不起作用

python - 在 Pycharm 中配置远程 Python 解释器

android - Eclipse/Android 中的 "DeviceMonitor]Sending jdwp tracking request failed!"

java - DrawElements 无法按预期处理多个对象