远程调试 .NET 代码 Visual Studio 2010

Posted

技术标签:

【中文标题】远程调试 .NET 代码 Visual Studio 2010【英文标题】:Remote Debugging .NET code Visual Studio 2010 【发布时间】:2011-08-19 06:18:16 【问题描述】:

我一直在寻找我的帽子,但没有任何结果,所以向你们所有人提出一个问题:

我在域 A 上有一台计算机。在那里我有一个在域 B 上运行的虚拟机。

我的计算机上安装了 Visual Studio,但 vm 上没有安装 => 因此我想调试一个在 vm(域 B)上运行的程序,该程序是我用 .NET 编写的,我的 Visual Studio 安装在pc(域 A)。

在 vm 上启动 vsmon 程序时,您有 2 个选项(windows auth. & no auth - native only)。

选择没有身份验证时,只有我可以看到我的Visual Studio中的进程,我可以附加,但断点没有被命中(因为PDB文件不包含本机符号,因为它写在.NET中

选择 Windows 身份验证时,我无法连接,并且出现错误“登录失败”...

对此有何想法/建议?

(顺便说一句,我在虚拟机上的防火墙已关闭)

【问题讨论】:

【参考方案1】:

您需要使用带有 Windows 身份验证的远程调试,因为您要调试 .NET 应用程序。 至于你的认证问题,请尝试this solution/workaround。

此链接中的主要信息如下:

    在两台机器上,使用相同的名称和密码创建一个本地帐户:net user username password /add 在远程计算机上,将该帐户添加到本地管理员组。 net localgroup administrators remotecomputername\username /add 在远程机器上,使用新帐户登录或在其下运行 msvsmon:runas /user:remotecomputername\username "<full path>\msvsmon.exe" 在本地机器上,要么用新账号登录,要么在新账号下运行VS:runas /user:localcomputername\username "<full path>\devenv.exe"

【讨论】:

谢谢!一个有点痛苦的解决方案,但很高兴终于有了一个。【参考方案2】:

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

【讨论】:

以上是关于远程调试 .NET 代码 Visual Studio 2010的主要内容,如果未能解决你的问题,请参考以下文章