我尝试远程调试Windows窗体应用程序(C#),但我总是得到这个错误:
- 无法连接到名为"XXX"的Microsoft Visual Studio远程调试监视器。目标计算机上的Visual Studio远程调试器无法连接回此计算机。身份验证失败。请参阅"帮助"以获得帮助。*
我试图根据MSDN指南进行配置,但我无法使其工作。
我的设置:
- 开发计算机**-连接到域的XP(x86)。
- 测试计算机**-未连接到域的Vista(x86)。
- 我的计算机之间有网络连接。
- 我在测试计算机(user1)中创建了一个本地用户,其名称与我运行Visual Studio的域用户(mydomain\user1)的名称相同。请设置相同的密码。
- 在测试计算机上,我将**"msvsmon.exe"作为应用程序(而不是服务)运行,并使用"runas"**命令和我创建的用户(user1)运行它:
运行方式/u:用户1 msvsmon.exe
有人能帮帮我吗?
谢谢。
6条答案
按热度按时间wfsdck301#
我遇到的问题是,我有2个用户:
这是不正确的(根据Gregg Miskely)我需要在我的开发计算机中定义一个本地用户,例如:
使用相同的密码,并使用此用户运行VS2008和调试监视器:
cuxqih212#
这就是我的工作原理:
远程计算机:Microsoft虚拟PC,"IHS\RDM"连接到我的公司域,以jdoe管理员帐户登录。
本地计算机:连接到本地域,以jdoe管理员帐户登录。
1)远程计算机:安装rdbgsetup.exe(从Visual Studio 2005\磁盘2\远程调试器\x86)
2)远程计算机:RUNAS/用户登录我的域名\jdoe/netonly
3)远程计算机:msvsmon-〉Tools-〉permissions添加用户"MYDOMAIN\jdoe"(每次重新启动时都必须执行此操作)
4)本地计算机:运行msvsmon。
5)本地计算机,msvsmon-〉工具-〉权限,添加对象类型:"计算机","IHS\RDM"
6)本地计算机,vs2005-〉调试-〉附加到进程。传输:默认值,限定符:RDM上的jdoe
7)刷新,瞧;进程列表!
5fjcxozz3#
Gregg Miskely对为什么服务帐户需要管理员权限(当以这种方式设置时)有一个很大的疑问。其中一点是用户帐户(在您的情况下是测试计算机上的用户)必须具有连接回其他计算机的权限。听起来您遇到了帐户mydomain\user1没有足够权限连接到您的开发计算机的情况。
如果这对阅读格雷格的博客文章没有帮助,给他发邮件可能会有帮助。
e1xvtsh34#
TESTCOMPUTER\user1
是否与mydomain\user1
具有相同的密码?您还可以尝试在目标计算机上运行
msvsmon.exe
,而不是远程调试服务。您可以使用"运行方式..."在各种凭据下运行它。一旦您可以使用msvsmon,exe
运行,您应该能够安装(或重新启用)远程调试器服务,使其在这些凭据下运行。编辑:
您应该能够使用
msvsmon.exe
中的"权限"属性页为域用户在目标计算机上设置适当的调试权限:http://msdn.microsoft.com/en-us/library/ms164722.aspx
mzaanser5#
假设您是一名开发人员,您的一个用户遇到了异常,您希望在不关闭异常窗口的情况下远程调试它,但他们使用不同的用户帐户登录。结果,您可以调试他们的应用程序,但这很棘手。
0)您仍然需要在远程应用程序计算机和本地Visual Studio计算机上匹配本地帐户,这意味着向用户的计算机添加帐户。
1)您需要使用带有/netonly选项的runas。打开命令提示符,转到msvsmon所在的文件夹,然后键入
这会导致msvsmon仅在访问网络时(例如,当msvsmon连接回本地VS计算机时)使用用户的凭据。如果您使用runas调用它而不使用/netonly,msvsmon会感到不安。
2)您需要通过远程调试监视器的Tools-〉Permissions菜单为本地Visual Studio计算机添加连接远程应用程序计算机的权限。
hfyxw5xn6#
所以没有账号我无法回复,只能回复自己的评论,但是我的注册账号和我发帖的匿名账号是分开的,所以这只能是一个“新答案”。抱歉。
baget -当我今天早些时候完成这项工作时,我在远程调试监视器PC和Visual Studio PC上创建了一个本地帐户。RDM不在域中,VS是。两个本地帐户都是管理员,其凭据与我的域帐户相同。来自其他帐户(也是管理员)我用netonly开关从提升的提示符调用了runas。您可能需要也可能不需要为您的域提供用户名,但既然密码都应该匹配我想这没什么关系。
别忘了调整你在RDM中的权限,允许运行VS的用户帐户以调试权限连接。它对允许你添加到列表中的用户非常挑剔,所以如果你不先创建本地帐户,你会非常沮丧。如果你在不同的用户帐户名下运行RDM,当你试图连接到远程计算机时,你必须使用完整的服务器名;如果您从同一个用户帐户运行RDM和VS,那么您可以只使用计算机名。