【问题标题】:Remote debugging across domains跨域远程调试
【发布时间】:2010-09-06 23:28:35
【问题描述】:

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

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

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

【问题讨论】:

    标签: visual-studio debugging managed-code


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我似乎记得,有时我发现在运行 msvcmon(或本周所称的任何东西 - 远程调试存根)时使用 RunAs 很有用,可以强制它以您设置的用户身份启动在两台机器上都一样。

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

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

      【讨论】:

        【解决方案3】:

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

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

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

        如博文所述,创建本地帐户PHYSICAL\employeePHYSICAL)和VIRTUAL\employeeVIRTUAL)。他们都必须是管理员,并且密码与DOMAIN\employee 相同。

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

        【讨论】:

          猜你喜欢
          • 2014-06-13
          • 2013-06-15
          • 2011-06-21
          • 1970-01-01
          • 2011-05-12
          • 2011-01-18
          • 2011-02-16
          • 1970-01-01
          • 2014-08-24
          相关资源
          最近更新 更多