如何在用户帐户不匹配时进行远程调试?

时间:2011-01-21 17:15:57

标签: visual-studio visual-studio-2008 visual-studio-2010 debugging remote-debugging

如何在以下情况下配置Visual Studio远程调试:

  1. 我的开发者计算机是AD域的成员,我的用户名是“DevelopersName”。
  2. “远程”计算机位于同一个以太网网段,但不属于该网域。
  3. “远程”机器必须在“RemoteUserName”下运行软件。
  4. 我能找到的大多数文档表明,您需要在同一个域中使用两台计算机并使用相同的用户名。这不可能。

    我可以将我的用户名添加到“remote”,但软件仍然需要在“RemoteUserName”下运行。

    如果有帮助,我可以将第二张网卡添加到我的开发者计算机并直接连接“远程”计算机。

    使用VS2008,但很快就会转向VS2010。

    谢谢。

3 个答案:

答案 0 :(得分:6)

抱歉,我过去10个小时都在尝试调试您的确切问题。我的发现并不好。

您需要同步帐户,尤其是在使用远程应用程序连接到SOA环境中的其他系统时,例如:Sharepoint,AD。

如果您在本地计算机上创建一个与远程计算机名称相同的帐户,则可以在某种程度上使远程调试正常工作(让我们这样做,而不是使用域帐户)。

然后,您需要确保远程服务在此帐户下运行,并且是管理员组的成员。通过这个我的意思是按住控制,右键单击运行 - 使用远程调试器,并选择用户(如果远程服务器以所需用户身份登录,则不需要)。

运行向导它将打开所需的端口,使用Authentication,因为非身份验证不会调试托管代码。永远不会遇到断点,你无能为力。

在本地开发计算机上,注销域帐户,然后使用匹配名称作为运行远程服务的服务器上的帐户登录本地帐户。

现在您可以更改远程调试。如果您无法执行上述任何操作,抱歉没有解决方法,它完全依赖于用户帐户并拥有正确的权限。

答案 1 :(得分:2)

如果您不想创建本地帐户,请尝试使用以下命令通过命令提示符启动我们的调试器:

runas /user:[user@machinename] /netonly [debugger.exe]

E.g:

 runas /user:john@mypc123 /netonly devenv.exe

答案 2 :(得分:1)

我认为它是您正在讨论的托管调试(对于本机调试,有一个没有身份验证的远程调试解决方案)。在这种情况下,我建议您使用本地用户在计算机上启动调试器 。如果此本地用户的名称和密码与“RemoteUserName”的名称和密码匹配,则应该有效。

(请注意,这并不妨碍您使用AD帐户登录工作站,只需设置另一个帐户并使用 runas 启动Visual Studio。)