我正在尝试远程调试Windows窗体应用程序(C#),但我总是收到此错误:
无法连接到Microsoft Visual Studio远程调试监视器 名为'XXX。 Visual Studio远程 目标计算机上的调试器不能 连接回这台电脑。 验证失败。请参阅帮助 寻求帮助。
我尝试根据MSDN指南进行配置,但我无法使其正常工作。
在测试计算机上我正在运行“msvsmon.exe”作为应用程序(而非服务),我正在使用“runas”运行它命令与我创建的用户。 (用户1):
runas / u:user1 msvsmon.exe
有人能帮助我吗?
感谢。
答案 0 :(得分:9)
我遇到的问题是我有2个用户:
mydomain\user1
mytestmachine\user1
这是不正确的(据Gregg Miskely说)我需要在我的开发计算机中定义一个本地用户,例如:
mydevcomputer\debug
mytestmachine\debug
使用相同的密码并使用此用户运行VS2008和调试监视器:
答案 1 :(得分: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->工具 - >权限添加用户“MYDOMAIN \ jdoe”(每次重新启动时都必须这样做)
4)本地计算机:运行msvsmon。
5)本地计算机,msvsmon->工具 - >权限,添加对象类型:“计算机”,“IHS \ RDM”
6)本地计算机,vs2005-> debug->附加到进程。运输:默认,限定符:jdoe @ RDM7)刷新,瞧;进程列表!
答案 2 :(得分:2)
Gregg Miskely对服务帐户需要具有管理员权限的原因blog post有一个{{3}}。其中一点是,用户帐户(在您的情况下是测试计算机上的用户)必须具有连接回另一台计算机的权限。听起来您遇到的情况是帐户mydomain \ user1没有足够的权限连接到您的开发计算机。
如果这对浏览Gregg的博客文章没有帮助,那么发送邮件可能有所帮助。
答案 3 :(得分:1)
TESTCOMPUTER\user1
的密码与mydomain\user1
的密码是否相同?
您也可以尝试在目标计算机上运行msvsmon.exe
而不是远程调试服务。您可以使用“运行方式...”在各种凭据下运行它。使用msvsmon,exe
后,您应该可以安装(或重新启用)远程调试器服务,使其在这些凭据下运行。
编辑:
您应该能够使用msvsmon.exe
中的“权限”属性页为目标计算机上的域用户设置适当的调试权限:
答案 4 :(得分:1)
因此,您是开发人员,并且您的某个用户遇到异常,并且您希望在不关闭异常窗口的情况下远程调试它,但它们以不同的用户帐户登录。事实证明,你可以调试他们的应用程序,但这很棘手。
0)您仍然需要在远程应用程序计算机和本地Visual Studio计算机上匹配本地帐户,这意味着将帐户添加到用户的计算机。
1)您需要在/ netonly选项中使用runas。打开命令提示符到msvsmon所在的文件夹,然后键入
runas /user:[user] /netonly msvsmon
这会导致msvsmon仅在访问网络时使用用户的凭据(例如,当msvsmon连接回本地VS计算机时)。如果你使用runas调用它而不使用/ netonly,msvsmon会感到沮丧。
2)您需要通过Remote Debug Monitor的Tools-> Permissions菜单为本地Visual Studio机器添加连接远程应用程序机器的权限。
答案 5 :(得分:0)
所以我没有帐户就无法回复,我只能回复自己的评论,但我的注册帐户与我发布的匿名帐户是分开的,所以这必须是“新答案”。遗憾。
baget - 当我今天早些时候完成这项工作时,我在远程调试监视器PC和Visual Studio PC上创建了一个本地帐户。 RDM不在域上,VS是。两个本地帐户都是管理员,其凭据与我的域帐户相同。从另一个帐户(也是管理员)我使用netonly开关从提升的提示调用runas。您可能需要也可能不需要为您的域名提供用户名,但由于密码应该全部匹配,因此我认为这并不重要。
不要忘记在RDM中调整您的权限,以允许运行VS的用户帐户与Debug权限连接。关于它允许你添加到列表中的人是非常挑剔的,所以如果你不首先创建本地帐户,你会非常沮丧。如果您在不同的用户帐户名下运行RDM,则在尝试连接到远程计算机时必须使用完整的服务器名称;如果你从同一个用户帐户运行RDM和VS,那么你可以只使用计算机名称。