无法使用 eclipse 开始调试 Java 应用程序



我有一个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 本地主机和 127.0.0.1。他们都成功了(ping没有问题)。我不知道为什么会发生这种情况。

但是,调试适用于简单的测试类!

失败时,这是我在日食日志中看到的:

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)
  • 使用的Eclipse版本:Luna(4.4.1),Indigo(3.7.2) - 两者都失败了
  • 为项目配置的 JDK 版本:jdk1.5.0_15
  • 操作系统: 视窗 7, 64 位
  • 防火墙:无
  • 尝试在 eclipse
  • .ini 中使用 -vm 参数启动 eclipse,指向 JRE 1.6.0_20。那也没用

有人可以指导我解决问题吗?

感谢任何帮助。谢谢。

拉维。

您的错误消息作为 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 打开端口等。

这可能由于以下几个原因而失败:

  1. 使用该端口。这通常发生在您指定要使用的端口而不是让 Eclipse 为您查找一个端口时。

  2. 防火墙或其他一些安全软件拒绝 Java 打开端口

  3. 您的网络配置已损坏。一种情况是特洛伊木马已将 IP 地址添加到/etc/hosts(或您的操作系统的变体)中以重定向您的流量。对于 Windows,请查看文件夹%WINDOWS%system32driversetc

    重要的一点是localhost解析为127.0.0.1

最新更新