跨域远程调试

Remote debugging across domains

提问人:Michal Sznajder 提问时间:8/27/2008 最后编辑:DMKMichal Sznajder 更新时间:7/13/2013 访问量:2493

问:

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

当我尝试使用调试器进行附加时,我收到消息“此工作站与主域之间的信任关系失败”。知道如何克服这个问题吗?我尝试了在两台机器上添加相同的本地用户名的技巧,但没有运气。

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

visual-studio 调试 托管代码

评论


答:

1赞 Will Dean 8/27/2008 #1

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

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

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

5赞 Steve Steiner 9/2/2008 #2

格雷格·米斯克利(Gregg Miskely)有一篇关于此的博客文章。如果两个本地帐户具有相同的用户名和密码,则可能会使其正常工作。您也可以尝试从其域中删除您的好盒子,以便您从一个工作组转到一个域,而不是从一个域转到另一个域。

1赞 Walter Wilfinger 7/13/2013 #3

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

我在 Active Directory 域上有一台物理开发计算机。我已登录并以 .PHYSICALDOMAINDOMAIN\employee

我有一个虚拟机,它根本没有连接到 Active Directory 域。这是运行我要调试的进程的机器。VIRTUAL

就像博客文章所说,创建本地帐户 (on ) 和 (on )。它们都必须是管理员,并且具有与 相同的密码。PHYSICAL\employeePHYSICALVIRTUAL\employeeVIRTUALDOMAIN\employee

远程调试器和调试进程必须在以 身份登录时运行。然后在登录时使用,因为我可以使用“附加到进程...”并连接到以获取进程列表。VIRTUALVIRTUAL\employeePHYSICALDOMAIN\employeeVIRTUAL