VS2010中C#应用程序的远程调试

VS2010中C#应用程序的远程调试,c#,visual-studio-2010,remote-debugging,visual-studio-debugging,managed,C#,Visual Studio 2010,Remote Debugging,Visual Studio Debugging,Managed,我尝试远程调试C#应用程序(WinXP(32位)下的远程PC,VS在Win7(64位)下运行)我收到一条错误消息: 尝试运行项目时出错:无法启动调试。 登录失败:用户名未知或密码错误。有关详细信息,请参阅帮助。 在这两台机器上,我设置了具有相同名称/密码的用户帐户,并且这两台机器位于LAN中的同一工作组中 当我在WinXP上启用登录审核时,我在事件日志上看到奇怪的记录,一般的感觉是:用户系统禁止登录,但我用另一个用户名运行VS和远程调试监视器 有人能告诉我如何克服这个奇怪的错误吗 Upd:我尝试

我尝试远程调试C#应用程序(WinXP(32位)下的远程PC,VS在Win7(64位)下运行)我收到一条错误消息:

尝试运行项目时出错:无法启动调试。 登录失败:用户名未知或密码错误。有关详细信息,请参阅帮助。

在这两台机器上,我设置了具有相同名称/密码的用户帐户,并且这两台机器位于LAN中的同一工作组中

当我在WinXP上启用登录审核时,我在事件日志上看到奇怪的记录,一般的感觉是:
用户系统禁止登录
,但我用另一个用户名运行VS和远程调试监视器

有人能告诉我如何克服这个奇怪的错误吗

Upd:我尝试使用以下命令作为远程用户运行VS2010:
runas/user:pc\u name\user\u name path\u to\u vs\u ide
然后传递密码。IDE已成功启动,但当我选择“附加到进程…”并在限定符字段中写入
pc_name
时,我得到了与上述相同的错误:
登录失败:用户名未知或密码错误。

所以我的问题仍然是实际的。如何远程调试C#应用程序


Upd2:安装新的WinXP纯拷贝后问题已解决。

假设您有两台计算机,C1和C2。您在这两台计算机上创建了一个用户Alex,并且Alex的每个副本都有相同的密码。相同的用户,对吗

这些不是相同的用户登录。每个都有不同的唯一标识符(UID)

如果您尝试使用“Alex”作为用户名从C2登录到C1,则您使用的用户是C2的Alex,而不是C1的Alex,后者是远程系统用于身份验证的主体。但远程系统不知道C2的Alex是谁


尝试将远程凭据更改为“C1\Alex”:远程计算机名、a
\
和用户名。

您可以在此处查看有关如何设置远程工具的更多信息:Gregg的博客对于满足帐户要求非常有用:

您确实需要两个本地用户帐户,一个在主机上,另一个在远程主机上,具有相同的用户名和密码(以使Visual Studio使用与远程帐户(用户名和密码)匹配的本地帐户进行身份验证,该远程帐户已被授予在msvsmon.exe中调试的权限)

Windows缓存凭据-如果访问资源并选中“记住我”,Windows缓存凭据到该资源。如果您试图使用登录到本地计算机的当前用户附加到进程,Visual Studio将获取这些缓存凭据并尝试将其用作远程调试的身份验证。因此,您需要清除这些凭据(控制用户密码2,高级选项卡,管理密码,删除该远程主机的凭据)


现在,您可以尝试访问资源(如共享)使用不同的凭据并将其存储,或者您可以作为要调试的用户运行Visual Studio,该用户对应于远程用户。

Alex,您可能需要更改Windows XP计算机上的本地安全策略设置,以下是更多详细信息:

谢谢您的回答,@Amy。您能告诉我需要执行哪些操作吗d更改凭据要做什么?如我所说,在用户名前面加上远程系统的名称。我应该在哪里做,即在哪个程序/窗口的哪个字段中?指定的计算机凭据没有保存。我删除了所有保存的凭据,但情况没有改变。错误仍然存在。可能有其他想法吗?你能给我一个建议吗更多详细信息?您是在两台机器上都使用VS2010,还是一台有VS2010,另一台有VS2010的远程调试器?VS2010在Win7上作为IDE,在WinXP上作为VS2010的远程调试器。我以前看到过此链接,并执行了所有这些建议。尝试将远程机器作为真正的PC和VMWare player。但没有积极的结果。