我尝试远程调试C#应用程序(WinXP(32位)下的远程PC,VS在Win7(64位)下运行我收到错误消息:
Error while trying to run project: Unable to start debugging.
Logon failure: unknown user name or bad password. See help for more information.
在两台机器上,我设置了具有相同名称/密码的用户帐户,并且这两台计算机都位于LAN中的同一工作组中。
当我在WinXP上启用登录审核时,我在事件日志中看到奇怪的记录,常识是:login forbidden for user SYSTEM
,但是我用另一个用户名运行VS和远程调试moniton。
有人可以解释我如何击败这个奇怪的错误吗?
Upd:我尝试使用命令以远程用户身份运行VS2010:
runas /user:pc_name\user_name path_to_vs_ide
然后传递密码。 IDE成功启动,但是当我选择"附加到进程..."并在限定符字段中写了pc_name
,我得到了与上面相同的错误:
Logon failure: unknown user name or bad password.
所以我的问题仍然存在。如何远程调试C#应用程序?
Upd2:安装WinXP的新纯副本后问题解决了。
答案 0 :(得分:2)
假设您有两台计算机,C1和C2。您在两者上创建用户Alex,并且每个Alex副本都具有相同的密码。相同的用户,对吧?
这些不是相同的用户登录。每个都有不同的唯一标识符(UID)。
如果您尝试使用“Alex”作为用户名从C2登录C1,则您使用的用户是来自C2的Alex,而不是来自C1的Alex,这是远程系统用于验证的主体。但远程系统不知道C2中的Alex是谁。
尝试将远程凭据更改为等效的“C1 \ Alex”:远程计算机名称,\
和用户名。
答案 1 :(得分:1)
您可以在此处查看有关如何设置远程工具的更多信息:http://msdn.microsoft.com/en-us/library/bt727f1t.aspx Gregg的博客对帐户要求非常有用:http://blogs.msdn.com/b/greggm/archive/2008/05/15/visual-studio-remote-debugger-service-user-account-requirements.aspx
您确实需要两个本地用户帐户,一个在主机和远程主机上,具有相同的用户名和密码(使Visual Studio使用与已获得权限的远程帐户(用户名和密码)匹配的本地帐户进行身份验证在msvsmon.exe中调试)
Windows缓存凭据 - 如果您访问了资源并选中了“记住我”,则Windows缓存该资源的凭据。如果您曾尝试使用登录到本地计算机的当前用户附加到进程,Visual Studio将获取这些缓存的凭据并尝试将其用作远程调试的身份验证。因此,您需要清除这些凭据(控制userpasswords2,高级选项卡,管理密码,删除该远程主机的凭据)
现在,您可以尝试使用其他凭据访问资源(如共享)并将其存储,也可以运行Visual Studio作为要调试的用户,该用户对应于远程用户。< / p>
答案 2 :(得分:0)
Alex,您可能需要更改Windows XP计算机上的本地安全策略设置,以下是更多详细信息:http://msdn.microsoft.com/en-us/library/ek2256kk(v=vs.100).aspx