C++ VS2008远程调试器:试图以其访问权限所禁止的方式访问套接字

C++ VS2008远程调试器:试图以其访问权限所禁止的方式访问套接字,c++,windows,visual-studio,visual-studio-2008,remote-debugging,C++,Windows,Visual Studio,Visual Studio 2008,Remote Debugging,我正在尝试为运行xpsp3的VirtualBox虚拟机设置远程调试,如下所示 在来宾操作系统上,我已启动远程调试服务器: 我已验证我可以使用netcat连接到服务器: C:\Users\sashoalm>ncat.exe myorgani-1bd08e 4015 Hello? W Çclose: No error 但是当我尝试从调试->附加到进程连接时。。。对话框(我将myorgani-1bd08e作为限定符放置),我得到以下错误: 无法连接到“myorgani-1bd08e”。试图以

我正在尝试为运行xpsp3的VirtualBox虚拟机设置远程调试,如下所示

在来宾操作系统上,我已启动远程调试服务器:

我已验证我可以使用netcat连接到服务器:

C:\Users\sashoalm>ncat.exe myorgani-1bd08e 4015
Hello?
W Çclose: No error
但是当我尝试从调试->附加到进程连接时。。。对话框(我将myorgani-1bd08e作为限定符放置),我得到以下错误:

无法连接到“myorgani-1bd08e”。试图以其访问权限所禁止的方式访问套接字

关于此错误的说明如下:

WSAEACCES 10013 拒绝许可。 试图以其访问权限所禁止的方式访问套接字。例如,在没有使用setsockopt(SO_broadcast)设置广播权限的情况下,使用sendto的广播地址。 WSAEACCES错误的另一个可能原因是,当调用bind函数时(在带有SP4和更高版本的Windows NT 4.0上),另一个应用程序、服务或内核模式驱动程序将绑定到具有独占访问权限的同一地址。这种独占访问是Windows NT 4.0和SP4及更高版本的一项新功能,通过使用SO_ExclusiveAdruse选项实现


为什么会出现此错误?

最后,原来是我自己计算机上的防火墙阻止Visual Studio进行出站连接(devenv.exe有出站规则,我不知道它是如何到达的)。

可能套接字被某个进程持有。使用netstat-o查找我在来宾计算机上运行的是哪一个,它只显示了一个套接字-
TCP myorgani-1bd08e:1157192.168.0.108:netbios ssn TIME_WAIT 0
有趣的是,如果我写的主机名不存在,它会让我
无法连接到…
,但是,如果我以
192.168.0.xxx
的形式键入一个IP地址,它会使我
尝试访问套接字…
,即使网络上没有具有该IP的计算机。是否尝试使用IP而不是VS中的主机名来连接远程调试器?我尝试了这两种方法。给出不正确的主机名会使我
无法连接到…
,给出正确的主机名会使我
尝试…
,教程建议使用主机名而不是IP btw。此外,netcat可以很好地连接到服务器。它就在那里,它在听。也许VS2008试图使用一些深奥的权限?