当我在调试模式下打开任何程序时,Eclipse 显示无法连接到 VM 错误。 这是异常堆栈
java.net.SocketException: socket closed
at java.net.PlainSocketImpl.socketAccept(Native Method) //I dont know which socket is closed in my PC
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at org.eclipse.jdi.internal.connect.SocketTransportService.accept(SocketTransportService.java:95)
at org.eclipse.jdi.internal.connect.SocketTransportImpl.accept(SocketTransportImpl.java:56)
at org.eclipse.jdi.internal.connect.SocketListeningConnectorImpl.accept(SocketListeningConnectorImpl.java:135)
at org.eclipse.jdt.internal.launching.StandardVMDebugger$ConnectRunnable.run(StandardVMDebugger.java:107)
at java.lang.Thread.run(Thread.java:619)
即使我的本地主机工作正常,我 ping 127.0.01 和本地主机都工作正常,即使我重新启动我的电脑,甚至得到相同的错误。不知道我的电脑中哪个套接字被关闭。请帮助我..我正在使用 eclipse 8.x
这是因为您计算机中的本地主机设置。检查 /etc 文件夹中的主机文件中的 localhost 的 IP
将
127.0.0.1 localhost
添加到 /etc/hosts,在我的 mac 上解决了同样的问题!
将以下内容添加到
eclipse.ini
文件中可以解决此问题:
-vm
C:\Program Files\Java\jdk1.7.0_71\jre\bin\javaw.exe (path of javaw.exe )
确保
javaw.exe
的路径应写在-vm
的下一行。
这是我的
eclipse.ini
文件:
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20140116-2212
-product
org.eclipse.epp.package.standard.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vm
C:\Program Files\Java\jdk1.7.0_71\jre\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m
如果您是 MAC 用户,请使用以下步骤
sudo -su root
vi /etc/hosts
---> now insert following line and save the file opened in vi editor
127.0.0.1 localhost
我在使用Springsource版本的eclipse时遇到了这个问题。我的问题是我的调试配置被定义为使用 Javascript 调试器,并且我正在尝试调试 Java 程序。
解决方案:转到“调试为”->“调试配置”,然后在该窗口中的某个位置(在我的示例中为 SpringSource 3.1 的末尾)将 Eclipse JDT Launcher 设置为调试器选项。
删除我的
module-info.java
文件解决了我的问题。
这两件事帮助了我...
然后再次运行应用程序!
您需要在启用调试端口的情况下启动服务器,并使用相同的端口将调试器与服务器连接。
对于“Tomcat”服务器,您可以添加以下内容以调试模式启动它,调试端口为
8453
。
-Xdebug -Xrunjdwp:transport=dt_socket,address=8453,server=y,suspend=n