【发布时间】:2012-03-16 21:55:34
【问题描述】:
我正在尝试远程调试 exe,但我不断收到错误消息。配置如下:
在开发机器上:
- Windows Vista 32 位
- Visual Studio 2010
- 防火墙已禁用
在远程机器上:
- Windows 7 64 位
- msvsmon.exe(从开发机器共享)
- MyProgram.exe(32 位、C#、.Net 4.0)
- 防火墙已禁用
两台机器在同一个域中。我使用同一个帐户登录,该帐户在两台计算机上都具有管理员权限。
这就是我的工作:
- 在远程计算机上启动 msvsmon.exe(使用“以管理员身份运行”)
-
msvsmon 输出:已创建名为
domain\login@machine的新服务器。等待输入连接。 - 来自 Visual Studio:调试 > 附加到进程。用
domain\login@machine填充 Qualifier 字段 - visual studio 输出:无法连接到名为“machine”的 Microsoft Visual Studio 远程调试监视器。访问被拒绝。
- msvsmon 输出:域\登录已连接
我错过了什么?
编辑:
如果开发机器也是 64 位(在 Win7 x64 上尝试过),它看起来也可以工作。所以现在的问题是:如何让它在我的 Windows Vista 32 上运行?
【问题讨论】:
-
您的网络中是否有一个或多个物理防火墙?如果是,那么您还应该将其配置为打开一些端口(有关详细信息,请参阅MSDN)。
-
不确定它是否适用于您的确切设置,但在类似设置中总是给我带来问题的一件事是,如果远程和本地调试器二进制文件版本不同。远程计算机上的 msvsmon 版本是否与您尝试连接的版本相同?
-
我不太了解内部结构,但我认为 x64 可能会导致问题。你能从 x64 开发机器上试试吗(相同的设置)?
msvsmon是否在远程机器上作为 32 位进程运行? -
我现在不能轻易使用 x64 开发机器。
msvsmon的版本是VS2010自带的x86(不过我也试过x64的版本,运气不好)。 -
好吧,在 64 位开发环境中尝试并不难,而且运行良好 (!)。
标签: .net visual-studio-2010 c#-4.0 remote-debugging