远程调试.NET代码 Visual Studio 2010

6
我已经努力寻找答案,但没有结果,所以问一下大家的一个问题:
我有一台连接到 A 域的计算机,在这台计算机上,我运行了连接到 B 域的虚拟机。我已经在计算机上安装了 Visual Studio,但没有在虚拟机中安装。因此,我想使用在连接到 A 域的计算机上安装的 Visual Studio 来调试在虚拟机(B 域)中编写的 .NET 程序。
当在虚拟机上启动 vsmon 程序时,您有两个选项(Windows 身份验证和无身份验证-仅本地)。选择无身份验证且仅限原生的选项后,我可以在 Visual Studio 中看到进程并进行附加,但是断点不会被触发(因为 PDB 文件不包含原生符号,因为它是用 .NET 编写的)。但是,当选择 Windows 身份验证时,我无法连接并出现“登录失败”的错误...
这方面有什么想法或建议吗?
(顺便说一句,我在 VM 上的防火墙已关闭)
2个回答

11
您需要使用Windows身份验证进行远程调试,因为您想要调试一个.NET应用程序。
至于您的身份验证问题,请尝试这个解决方案/变通方法
此链接中主要信息如下:
  1. 在两台计算机上创建具有相同名称和密码的本地帐户: net user 用户名 密码 /add
  2. 在远程计算机上,将该帐户添加到本地管理员组:net localgroup administrators 远程计算机名\用户名 /add
  3. 在远程计算机上,使用新帐户登录或在其下运行 msvsmon:runas /user:远程计算机名\用户名 "<完整路径>\msvsmon.exe"
  4. 在本地计算机上,使用新帐户登录或在其下运行VS:runas /user:本地计算机名\用户名 "<完整路径>\devenv.exe"

1
谢谢!这个解决方案有些痛苦,但很高兴终于有了一个。 - Garrett

0

如果没有身份验证,您将无法远程调试代码,您需要设置Windows身份验证。其次,必须有相同的用户组,即具有相同域用户的用户组,或者您可以在两个系统上创建本地管理员用户,并使用管理员用户运行远程调试器和VS。


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