我在两个不同的域中有两台机器。我都安装了VS 2005。我想在它们之间进行远程调试。没有身份验证,这是可能的,但我想调试托管代码。我不想直接调试,因为它真的很糟糕。
当我尝试使用调试器附加时,我收到消息“此工作站与主域之间的信任关系失败”。知道怎么克服这个吗?我尝试了在两台机器上添加相同的本地用户名但没有运气的技巧。
编辑:我在两台机器上都有相同的本地用户。我使用本地用户启动了使用RunAs的VS2005和调试监视器。我在调试机器上打开了Windows审核,我看到VS2005机器的本地用户正在尝试登录。但他失败了,错误0xC000018D(ERROR_TRUSTED_RELATIONSHIP_FAILURE)
答案 0 :(得分:5)
Gregg Miskely对此有一个blog post。如果两个本地帐户具有相同的用户名和密码,您可以使用它。您也可以尝试从其域中删除您的好框,这样您就可以从工作组转到域而不是从域到域。
答案 1 :(得分:1)
我似乎记得我有时发现在运行msvcmon(或本周所谓的任何东西 - 无论如何都是远程调试存根)时使用RunAs很有用,强制它以你设置的用户身份启动在两台机器上都是一样的。
我猜想在你运行VS的机器上,你还需要以本地用户而不是域用户身份登录(或者使用RunAs启动VS)。
我从来没有理解为什么这需要如此努力,因为非托管调试非常简单,并且必须暴露管理调试所能带来的每个安全漏洞。
答案 2 :(得分:0)
博客文章并不完全清楚这可行,但我能够将Visual Studio作为我的域帐户运行,并且仍然在不在域上的计算机上调试进程。
我在Active Directory域PHYSICAL
上有一台物理开发计算机DOMAIN
。我已登录并以DOMAIN\employee
身份运行Visual Studio。
我有一个虚拟机VIRTUAL
根本没有附加到Active Directory域。这是运行我想要调试的进程的机器。
如博客文章所述,创建本地帐户PHYSICAL\employee
(PHYSICAL
)和VIRTUAL\employee
(VIRTUAL
)。他们都必须是管理员,并且密码与DOMAIN\employee
相同。
远程调试器和调试过程必须在VIRTUAL
上运行,同时以VIRTUAL\employee
身份登录。然后在PHYSICAL
登录DOMAIN\employee
后,我可以使用“附加到流程...”并连接到VIRTUAL
以获取流程列表。