32

我正在尝试远程调试 Windows 窗体应用程序 (C#),但我总是收到此错误:

无法连接到名为“XXX”的 Microsoft Visual Studio 远程调试监视器。目标计算机上的 Visual Studio 远程调试器无法连接回此计算机。身份验证失败。请参阅帮助以获得帮助。

我尝试根据 MSDN 指南进行配置,但我无法使其工作。

我的设置:

  • 开发计算机- 连接到域的 XP (x86)。
  • 测试计算机- 连接到域的Vista (x86) 。
  • 我的机器之间有网络连接。
  • 我在测试计算机(user1) 中使用我运行 Visual Studio (mydomain\user1) 的域用户的名称创建了一个本地用户。设置相同的密码。
  • 在测试计算机上,我将“msvsmon.exe”作为应用程序(而不是服务)运行,我使用“runas”命令与我创建的用户一起运行它。(用户1):

    runas /u:user1 msvsmon.exe

有人能帮助我吗?

谢谢。

4

6 回答 6

9

我遇到的问题是我有 2 个用户:

mydomain\user1
mytestmachine\user1

这是不正确的(根据 Gregg Miskely 的说法)我需要在我的开发计算机中定义一个本地用户,例如:

mydevcomputer\debug
mytestmachine\debug

使用相同的密码并使用此用户运行 VS2008 和调试监视器:

于 2009-01-01T07:43:47.647 回答
7

这就是它对我的工作方式:

远程计算机:Microsoft Virtual PC,“IHS\RDM”附加到我的公司域,以管理员帐户 jdoe 身份登录。

本地计算机:附加到本地域,以 jdoe 身份登录,管理员帐户。

1)远程计算机:安装 rdbgsetup.exe(来自 Visual Studio 2005\Disk 2\Remote Debugger\x86)

2)远程计算机:RUNAS /user MYDOMAIN\jdoe /netonly msvsmon

3)远程电脑:msvsmon->Tools->permissions add user "MYDOMAIN\jdoe"(我每次重启都要这样做)

4) 本地计算机:运行 msvsmon。

5)本地计算机,msvsmon->Tools->permissions,添加对象类型:“computers”,“IHS\RDM”

6)本地电脑,vs2005->debug->attach to process。传输:默认,限定符:jdoe@RDM

7)刷新,瞧;一个进程列表!

于 2010-02-04T22:25:54.630 回答
2

Gregg Miskely 有一篇关于为什么服务帐户需要具有管理员权限的博客文章(当以这种方式设置时)。其中一点是用户帐户,在您的情况下是测试机器上的用户,必须具有连接回另一台计算机的权限。听起来您遇到了帐户 mydomain\user1 没有足够权限连接到您的开发计算机的情况。

如果这对阅读 Gregg 的博客文章没有帮助,那么向他发送邮件可能会有所帮助。

于 2008-12-28T17:47:27.820 回答
1

TESTCOMPUTER\user1有相同的密码吗mydomain\user1

您也可以尝试msvsmon.exe在目标计算机上运行而不是远程调试服务。您可以使用“运行方式...”在各种凭据下运行它。一旦你得到工作,msvsmon,exe你应该能够安装(或重新启用)远程调试器服务,让它在这些凭据下运行。

编辑:

您应该能够使用 Permissions 属性页msvsmon.exe为目标计算机上的域用户设置适当的调试权限:

http://msdn.microsoft.com/en-us/library/ms164722.aspx

于 2008-12-28T12:24:07.537 回答
1

因此,您是一名开发人员,您的一个用户遇到了异常,您想在不关闭异常窗口的情况下远程调试它,但他们以不同的用户帐户登录。事实证明,您可以调试他们的应用程序,但这会变得很棘手。

0)您仍然需要在远程应用程序机器和本地Visual Studio机器上匹配本地帐户,这意味着将帐户添加到用户的计算机。

1) 您需要使用带有 /netonly 选项的 runas。打开命令提示符到 msvsmon 所在的文件夹并键入

runas /user:[user] /netonly msvsmon

这会导致 msvsmon 仅在访问网络时使用用户的凭据(例如,当 msvsmon 连接回本地 VS 机器时)。如果您使用 runas 调用它而不使用 /netonly,msvsmon 会感到不安。

2)您需要通过远程调试监视器的工具->权限菜单为本地Visual Studio机器添加权限以连接远程应用程序机器。

于 2009-10-13T20:24:35.457 回答
0

所以没有账号我不能回复,只能回复我自己的评论,但是我的注册账号和我发帖的匿名账号是分开的,所以这必须是一个“新答案”。对不起。

baget - 当我今天早些时候完成这项工作时,我在 Remote Debug Monitor PC 和 Visual Studio PC 上都创建了一个本地帐户。RDM 不在域上,VS 在。两个本地帐户都是管理员,其凭据与我的域帐户相同。从另一个帐户(也是管理员),我使用 netonly 开关从提升的提示符中调用 runas。您可能需要也可能不需要为您的域提供用户名,但由于密码应该全部匹配,我认为这并不重要。

不要忘记在 RDM 中调整您的权限,以允许运行 VS 的用户帐户以调试权限连接。它允许您添加到列表中的人非常挑剔,因此如果您不首先创建本地帐户,您会感到非常沮丧。如果您在不同的用户帐户名下运行 RDM,则在尝试连接到远程计算机时必须使用完整的服务器名称;如果您从同一个用户帐户同时运行 RDM 和 VS,那么您只需使用计算机名称即可。

于 2009-10-14T04:03:22.483 回答