Visual Studio中的远程调试:远程调试器不支持此版本的Windows。

20

我正在尝试在VMware Workstation 7和Visual Studio 2010 ultimate中进行远程调试应用程序。我有几个镜像文件(win 7 ultimate、vista等)。

我正在按照这个教程操作:http://kristofmattei.be/2010/01/20/debugging-applications-in-virtual-machines-with-vmware-workstation-7-and-visual-studio-2008-sp1-2/

每当我尝试在远程计算机上启动msvsmon.exe时,它会显示:“visual studio 远程调试器不支持此版本的windows”。

我已经使用win 7 ultimate、vista premium和xp home进行了尝试,但情况依然相同。

请问有人能帮我解决这个问题吗?

谢谢!

4个回答

34

出现错误消息“visual studio远程调试器不支持此版本的Windows”是因为远程调试器默认尝试使用Windows身份验证,在仅支持“Pro”版及以上版本的Windows中才支持此功能。

但是,远程调试器可以在“Home”版本的Windows上工作,只需通过命令行告诉它不要使用身份验证即可。

(为什么在没有任何参数启动后不能进行此操作,为什么错误消息如此误导(并与官方支持的操作系统列表相矛盾),以及为什么在网上很少有关于此的信息,我不知道。:))

要启动它,请运行以下命令:

msvsmon.exe /noauth /nosecuritywarn

当然,这将以最低安全模式启动它,因此您只会想在安全网络上执行此操作。(但通常情况下,人们使用msvcmon的模式仍然是最小权限模式,因为另一种模式比通常的情况更加麻烦。这是一个非常有用的工具,但确实需要一些优化。)


这是msvsmon.exe,而不是msvcmon.exe。 - mhenry1384
@LeoDavidson - 嗯...在我的情况下,它一直在工作,最近出现了这个消息停止工作。使用64位Win7 Home Premium。感觉还有其他原因。有什么想法吗? - johntrepreneur
1
@LeoDavidson - 刚刚想通了(拍脑门)。之前我能够进行调试(没有消息和你的解决方案),是因为我在本地主机上进行调试。当我将站点更改为www.mywidgets.com时,它开始给我报错,因为它不再是本地调试,此时您需要升级到专业版或采用您的解决方案。 - johntrepreneur

8

无需使用VMWare功能。

  1. 在虚拟机内运行与您的Visual Studio 2010副本一起提供的版本的msvsmon(可以在光盘/映像中找到仅用于远程调试的设置包)(如果要调试32位进程,请使用x86,如果要调试64位进程,请使用x64,如果需要则使用Itanium laugh)。

  2. 通过msvsmon GUI禁用身份验证并选择允许任何用户连接。

  3. 禁用虚拟机中的防火墙。

  4. 在主机上,您应该运行Visual Studio 2010,在调试下拉菜单中选择“附加到进程...”,然后在弹出的窗口中从最初可能称为本地或其他内容的下拉菜单中选择远程,输入客户端虚拟机的IP地址(应为私有网络IP,即10.1.?.?),或者使用msvsmon GUI显示的服务器名称。您应该获得客户端的进程列表,并且只能附加到与您运行的msvsmon版本(x86或64 ...或Itanium laugh)匹配的任何进程。

注意:这些是基本指示,以向您展示它确实有效,但这些指示仅适用于本机代码,因为托管代码需要安全连接。


2
如果您使用 VMWare VS 插件调试 .NET 应用程序时出现“文件未找到”类型的错误……请确保已安装 .NET 运行时! :)
像个白痴一样,我设置了一个崭新的 XP 虚拟机,忘记安装 .NET 运行时,并浪费了一整天时间来尝试让 VMWare VS 插件正常工作!

0

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