我在两个不同的域中有两台机器。我在两者上都安装了 VS 2005。我想在它们之间进行远程调试。如果没有身份验证,这是可能的,但我想调试托管代码。我不想直接调试,因为它真的很糟糕。

当我尝试使用调试器附加时,我会收到消息“该工作站和主要领域之间的信任关系失败”。知道如何克服这一点吗?我尝试了在两台机器上添加相同的本地用户名的技巧,但没有成功。

编辑:我在两台机器上都有相同的本地用户。我使用本地用户通过 RunAs 启动了 VS2005 和调试监视器。我在调试计算机上打开了 Windows 审核,我看到 VS2005 计算机上的本地用户正在尝试登录。但他失败并出现错误 0xC000018D (ERROR_TRUSTED_RELATIONSHIP_FAILURE)

有帮助吗?

解决方案

格雷格·米斯克利有一个 博客文章 关于这一点。如果两个本地帐户具有相同的用户名和密码,您可能会得到它的工作。您还可以尝试将您的好盒子从其域中删除,以便您从一个工作组转到一个域,而不是从一个域转到另一个域。

其他提示

我似乎记得,有时我发现在运行 msvcmon (或者本周它被称为远程调试存根)时使用 RunAs 很有用,可以强制它以您设置的相同用户身份启动在两台机器上。

我猜想,在您运行 VS 的计算机上,您还需要以本地用户而不是域用户身份登录(或使用 RunAs 启动 VS)。

我一直不明白为什么这需要如此困难,因为非托管调试要容易得多,并且必须暴露托管调试可能存在的每个安全漏洞。

该博客文章并不完全清楚这是否可行,但我能够将 Visual Studio 作为我的域帐户运行,并且仍然可以在不在域上的计算机上调试进程。

我有一台实体开发机 PHYSICAL 在 Active Directory 域上 DOMAIN. 。我已登录并运行 Visual Studio DOMAIN\employee.

我有一个虚拟机 VIRTUAL 根本不附加到 Active Directory 域。这是运行我要调试的进程的机器。

就像博客文章所说,创建本地帐户 PHYSICAL\employee (在 PHYSICAL) 和 VIRTUAL\employee (在 VIRTUAL)。他们都必须是管理员并且具有相同的密码 DOMAIN\employee.

远程调试器和要调试的进程必须运行在 VIRTUAL 登录时 VIRTUAL\employee. 。然后在 PHYSICAL 登录时 DOMAIN\employee 我可以使用“附加到进程...”并连接到 VIRTUAL 获取进程列表。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top