2008-08-27 75 views
4

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

当我尝试附加调试器时,我收到消息“此工作站和主域之间的信任关系失败。”任何想法如何克服这一点?我尝试在两台机器上添加相同的本地用户名,但没有运气。

编辑:我在这两台机器上都有相同的本地用户。我使用本地用户启动了带有RunAs的VS2005和调试监视器。我在调试机器上打开了Windows Auditing,并且发现VS2005机器上的本地用户正在尝试登录。但他失败,错误0xC000018D(ERROR_TRUSTED_RELATIONSHIP_FAILURE)

回答

5

Gregg Miskely对此有一个blog post。如果两个本地帐户具有相同的用户名和密码,则可能会使其生效。您也可以尝试从您的域中删除您的好框,以便您从工作组转到域而不是域到域。

1

我似乎记得我有时会发现当你运行msvcmon(或任何它被称为本周的远程调试存根)时使用RunAs是有用的,强制它以您在两台机器上设置为相同的用户开始。

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

我从来没有理解为什么需要这么努力,因为非托管调试非常容易,并且必须公开每个托管调试可能存在的安全漏洞。

0

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

我在Active Directory域DOMAIN上有一台物理开发机器PHYSICAL。我以登录并运行Visual Studio为DOMAIN\employee

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

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

远程调试程序和调试进程必须在VIRTUAL上运行,同时登录为VIRTUAL\employee。然后在PHYSICALDOMAIN\employee的身份登录时,我可以使用“附加到进程...”并连接到VIRTUAL以获取进程列表。