能否使用Visual Studio远程调试VirtualBox?

46

我正在Sun的开源VirtualBox上运行我们应用程序的不同版本,是否可以使用Visual Studio从主机操作系统远程调试应用程序?问题是,在Visual Studio中,当我想要附加到远程计算机时,我必须输入计算机名称或IP地址,而我从虚拟框中获取的IP无法从主机机器进行ping。

我主要感兴趣的是调试本地代码(以便不需要身份验证),但如果有方法也可以调试托管代码,请告诉我。

我应该注意到,主机操作系统是Vista,而客户机是XP。


由于Mark的帮助,我已经使事情正常运转,我将记录所有我必须采取的步骤供将来参考:

  1. 将VM网络从NAT更改为Bridged Adapter(必须先关闭VM)
  2. 在客户端操作系统中将默认安全设置更改为 Classic-local users authenticate as themselves ,如这里所述

    • 控制面板->管理工具->本地安全策略
    • 本地策略->安全选项
    • Network access:Sharing and security model for local accounts更改为 Classic-local users authenticate as themselves
  3. 重新启动客户端操作系统

  4. 在客户端操作系统上禁用防火墙
    • 如果msvsmon无法自行执行此操作
    • 防火墙.cpl

我不理解这里的移动部分:应用程序(您想要调试的应用程序)正在客户操作系统上运行,Visual Studio在主机上运行,主机无法ping通客户端?那么谁可以呢?您需要在它们之间建立某种形式的通信。 - Shay Erlichmen
1
我发现“经典 - 本地用户作为自己进行身份验证”已经启用,但仍无法连接。我更改了此设置,然后再次更改回来,它就可以工作了。 - CathalMF
1个回答

34

看起来您的客户端设置了网络适配器的NAT。进入客户端设置,选择网络,如果网络类型是NAT,则将其切换到桥接。 NAT会生成不公共的地址范围; 而桥接将为客户端操作系统提供与主机相同子网上的IP。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接