一、问题描述

    很突然,没有一点点防备,项目无法启动 Debug 调试模式。不记得自己做的什么改动影响到了连接 VM 环境。开发环境对项目Debug 时报无法连接虚拟机。

    项目右键选择 Debug as运行项目报异常如下:


图1.1.1报错警告框图


图1.1.2异常信息图

另外,通过 Run as 运行项目,工程能够跑起来。

二、问题处理

2-1Configurations 配置查看

    首先查看了处理方式对比 Run Configurations Debug Configurations 配置信息,通过比对没发现配置有什么区别。

    菜单选项,右键项目选中 Debug as - Debug Configurations 同样的方式查看Run as - Run Configurations,比对配置。如果存在配置不同的按照Run Configurations 为标准配置后尝试调试项目。


2.1.1菜单选项图


2.1.2 Debug Configurations 页面图

2-2JRE 配置

    检查 JRE 配置,如果有配置问题也会导致这个问题。

    进入菜单选项 Window - Preferences - Java - Installed JREs

    如果没有的话 Add 添加一个 JRE 环境;这里进去检查 VM 参数配置,单击Edit按钮进入 JRE 详细配置。把VM参数写上,不确定是不是内存不够导致的,就先加上下面这行配置。

-Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m

    然后 Refresh 刷新工作空间,右键项目选中 Debug as运行项目仍然报错 Cannot connect to VM


图2.2.1JRE 配置图

2-3网络编程接口重置

    在修改 JRE 配置无效后,尝试解决 connect 问题,重置网络连接

    执行该命令重置 winsock目录,把winsock 恢复到默认状态。winsock网络编程接口,在应用层它提供与底层传输协议无关的高层数据传输编程接口 

    重启电脑,打开 Eclipse,右键 Debug as运行项目仍然报错。


图2.3.1命令提示符图


图2.3.2执行命令图

2-4问题解决记录

    由于当时时间很晚了,就先离开了,第二天早上过来,打开电脑,运行项目时发现问题解决了。

    但是我还没确定是怎么解决的 Cannot connect to VM。就开始恢复前一天的环境,去把 JRE 配置参数修改回原来的状态,刷新项目右键 Debug as 调试项目,项目可以成功运行。不是这个原因,还执行了命令 netsh winsock reset,这个我没法恢复之前的环境。就没做测试。

   目前认为是管理员打开命令提示符执行 netsh winsock reset命令解决该Cannot connect to VM

2-5确定引起问题的原因 - 后续更新

2-5-1原因

再次碰到这个错误,确定了问题的原因

本机的一些操作导致网络的切换,IP地址被重新设置,防火墙在选择通过的程序时,将Java程序相关的动作拦截过滤了。

2-5-2解决方式

两种解决方式:

1>关闭防火墙能解决这个问题,不推荐

2>修改允许应用通过防火墙通信

2-5-3Windows 防火墙操作

功能选项:控制面板 - 系统和安全 - Windows 防火墙

启用或关闭Windows防火墙,将防火墙关闭即可。


功能选项:控制面板 - 系统和安全 - Windows 防火墙 - 允许的引用

在允许程序列表中找到Java 相关的程序和功能,对所在行全部选项进行勾选即可。


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐