.NET远程调试作为另一个域的另一个用户?

时间:2011-10-26 15:34:12

标签: c# .net visual-studio-2010 debugging remote-debugging

我正在尝试通过Visual Studio 2010远程调试。但是我无法告诉调试器在远程计算机上使用另一个(远程)帐户。 (不要使用我的帐户。)

任何提示?

更新:我的计算机上没有远程帐户(它位于另一个域中)。所以我不能使用runas

7 个答案:

答案 0 :(得分:2)

根据我的经验,远程调试很难设置!我是这样做的(类似于你已经拥有的回复):

  1. 在远程复选框上,使用与您的域帐户相同的用户名和密码创建一个本地管理员用户。确保此本地用户是调试组的一部分。
  2. 在本地方框中,共享VS中的远程调试文件夹(... \ common7 \ ide \ remote debugger)
  3. 在远程复选框上,在本地框中创建的共享中创建msvsmon.exe文件的快捷方式。
  4. 在远程复选框上,运行快捷方式,以便启动远程调试程序。这可以保证您运行正确的远程调试版本。
  5. 从visual studio尝试使用User @ machine_name连接到远程计算机,其中User是远程控制台上登录用户的用户名(而不是您创建的本地管理员帐户)。
  6. 您应该看到远程调试器注册连接。
  7. 如果这不起作用,您可能会遇到进一步的网络或权限问题。

    希望有所帮助!

答案 1 :(得分:1)

长期以来一直在与之斗争。

检查

  1. 两台计算机都在同一个域中,或者VS远程调试器和客户端VS都作为具有相同密码的同一用户运行。您的用户可以位于不同的域或工作组中,但登录名必须相同
  2. 需要双向机器之间无限制的直接连接。

答案 2 :(得分:1)

我已经多次在另一个用户的远程计算机上调试进程。

首先,您需要了解如何在同一个域中调试远程进程。 @KyleMit的answers完全帮助我做到了。

但是,对于跨域调试,您还需要在本地计算机上编辑C:\Windows\System32\drivers\etc\hosts文件。

只需添加远程计算机的IP地址,如下所示:

172.172.172.172     SRV-TEST-ADRESS

其中:

  • 172.172.172.172 - 远程服务器的IP地址
  • SRV-TEST-ADRESS - 来自Visual Studio远程调试器的服务器名称 在远程计算机上监视

您可以通过ipconfig

中的cmd了解服务器的IP地址

Visual Studio Remote Debugger Monitor

如果您需要有关跨域调试的更多详细说明,请查看此link

答案 3 :(得分:0)

这是一个黑暗中的镜头......假设您拥有VPN访问权限。我仍然不确定它会起作用。也许值得一试

  1. 连接VPN
  2. 在远程信箱上添加域帐户作为本地用户
  3. 看看您是否可以右键单击以该帐户运行。

答案 4 :(得分:0)

在远程计算机上运行远程调试器监视器后,配置调试权限以允许每个人访问。从Visual Studio连接到远程计算机时,请使用以下格式的限定符:

remote_domain \ REMOTE_USER @ remote_machine

远程用户是远程调试器运行的用户。 记住远程机器上的防火墙。

答案 5 :(得分:0)

我看到它在双方都有本地帐户,拼写相同且密码相同时才有效。不足以让我依赖它。

您是否尝试过使用windbg?一开始使用起来有点痛苦,但它完成了工作。

答案 6 :(得分:0)

我还有几件事要尝试,因为我最终得到了远程调试工作,但这很棘手:

  • 请注意运行Visual Studio的用户,默认情况下我以管理员身份运行,我必须以本地域用户身份运行才能连接
  • 在此阶段,我无法连接到其他域但作为中间步骤,我进入了我的域上的服务器的限定符,并且能够看到这些进程
  • 现在我将限定符更改为其他域的IP地址(不需要输入4020端口号)并点击“刷新”按钮然后看到我被提示输入其他域上的帐户凭据
  • 这很有效,我能够看到连接到
  • 的过程
  • 如果没有在我的域名中输入服务器的先前步骤,我无法获得登录屏幕