我有一个java应用程序,我试图使用eclipse进行调试。当我启动调试时,我在控制台中看到此错误消息:
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=JVMTI_ERROR_INTERNAL(113)
ERROR: transport error 202: connect failed: Connection refused ["transport.c",L41]
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) ["debugInit.c",L500]
JDWP exit error JVMTI_ERROR_INTERNAL(113): No transports initialized
我不是试图远程调试java应用程序。我的java应用程序在eclipse中设置为一个项目。我创建了一个调试配置并尝试使用它启动应用程序。
在这个论坛上查看了各种选项后,我尝试了ping localhost和127.0.0.1。他们都成功了(没有问题)。我不知道为什么会发生这种情况。
然而,调试适用于简单的测试类!
在失败时,这是我在eclipse日志中看到的:
eclipse.buildId=4.4.1.M20140925-0400
java.version=1.7.0_71
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_IE
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product
org.eclipse.jdt.launching
Error
Mon Dec 29 15:24:26 GMT 2014
Cannot connect to VM
com.sun.jdi.connect.TransportTimeoutException
at org.eclipse.jdi.internal.connect.SocketTransportService.accept(SocketTransportService.java:105)
at org.eclipse.jdi.internal.connect.SocketTransportImpl.accept(SocketTransportImpl.java:59)
at org.eclipse.jdi.internal.connect.SocketListeningConnectorImpl.accept(SocketListeningConnectorImpl.java:153)
at org.eclipse.jdt.internal.launching.StandardVMDebugger$ConnectRunnable.run(StandardVMDebugger.java:110)
at java.lang.Thread.run(Unknown Source)
有人可以指导我说明问题所在。
感谢任何帮助。谢谢。
拉维。
答案 0 :(得分:1)
您的错误消息作为Eclipse的调试常见问题中的条目:https://wiki.eclipse.org/Debug/FAQ#I_can_run_a_program_but_not_debug_it.3F.3F.3F
一些背景信息:Eclipse(以及其他所有IDE)总是使用套接字连接到JVM进行调试。 JVM是否在同一台计算机上并不重要。这意味着您的IP堆栈必须工作,安全设置必须允许Java打开端口等。
这可能会失败有几个原因:
您的网络配置已变坏。一个案例是特洛伊木马已将IP地址添加到/etc/hosts
(或您的操作系统的变体)以重定向您的流量。对于Windows,请查看文件夹%WINDOWS%\system32\drivers\etc\
重要的一点是localhost
解析为127.0.0.1
。