我对这篇文章有一个非常相似的错误信息; 但是,同一篇文章的解决方案对我不起作用.编辑主机文件我添加127.0.0.1 my-host-name到我的主机文件(链接线程中的每个解决方案)不幸的是对我没有任何帮助.
在JDB中"运行"后,我收到以下错误消息:
初始化jdb ...
运行运行QuadtreeBitmap VM启动异常:VM初始化失败:/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin/java -Xdebug -Xrunjdwp:transport = dt_socket,address = Patricks-iMac.local :50547,suspend = y QuadtreeBitmap
错误:传输错误202:gethostbyname:未知主机错误:JDWP传输dt_socket无法初始化,TRANSPORT_INIT(510)JDWP退出错误AGENT_ERROR_TRANSPORT_INIT(197):没有传输初始化[debugInit.c:730]
致命错误:目标VM无法初始化.
我正在使用MacOS并尝试通过终端直接启动JDB(而不是通过Eclipse或任何其他IDE).
JJ *_*man 26
就我而言,问题与 Java 8 相关。我使用 Java 9+ 语法进行远程调试:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
Run Code Online (Sandbox Code Playgroud)
而对于 Java 8,您不能使用格式 * :port 的地址,它假设为:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
Run Code Online (Sandbox Code Playgroud)
Lui*_*ñoz 11
jvm正在尝试打开dt_socketat主机Patricks-iMac.local端口,50547但首先需要将该主机名解析为IP地址.DNS查找将失败,因为它是分配给私有地址的虚拟主机名,DNS服务器通常不知道它们,除非系统管理员已配置它们(公司用来这样做).有两种解决方案:
1)在hosts文件上添加主机名映射,保留为该IP配置的其他名称
127.0.0.1 localhost Patricks-iMac.local
2)通过IP地址配置dt_socket而不触及hosts文件(推荐)
-Xrunjdwp:transport=dt_socket,address=127.0.0.1:50547
关于网络故障排除的一句话:
*unknown host表示DNS问题,TCP连接根本没有启动,因为IP地址不可用.
*host unreachable表示TCP连接问题,已知IP但由于防火墙,路由或其他问题而无法访问.ping该IP将失败.
*port unreachable表示TCP连接问题,IP可以访问,但端口不是因为防火墙,服务中断等等ping,IP将工作但是到该端口的连接仍然会失败.
| 归档时间: |
|
| 查看次数: |
3288 次 |
| 最近记录: |