我们正试图通过Windows 7计算机到Windows xp家庭计算机跨域进行远程调试。使用LogMeIn Hamachi将这些机器连接在一起。
我已经检查了MSDN指南,详细设置了远程调试,并且遇到了很多错误,但是我经常遇到阻塞。我可以将其转换为本机调试,但无法通过托管调试进行身份验证。以下是我已经完成的事情 -
Visual Studio和调试监视器作为相同的管理员用户在各自的计算机上运行 - 调试/调试。
调试器最初拒绝在xp机器上运行,所以我正在运行它:runas / user:debug“c:\ josh \ msvsmon.exe -ncuritycuritywarn -noauth -anyuser”然后切换它从那里到管理模式。
hamachi为computeres提供虚拟IP,但不提供主机名。我已经将远程计算机的IP解析为我的本地主机文件中的主机名 - 这让我过去了vstudio无法找到debug @ HOSTNAME以及我现在在天堂里的位置。
编辑:对,我当前的错误。我尝试登录并在身份验证模式下出现“错误登录和密码”错误。我尝试手动设置“来宾解析为本地帐户”消息,这没有帮助。
随意忽略所有这些特定的位并解决我的一般问题 - 我只将它们包含在彻底性和背景故事等中。
答案 0 :(得分:2)
Sniffing显示VS 2010通过SMB连接到远程调试器。它会打开IPC$
共享,然后尝试打开命名管道\Microsoft.VisualStudio.10.0.Remote\<name>
,然后\Microsoft.VisualStudio.10.0.Remote\svc=msvsmon100
(有关其他反斜杠,请参阅Can named pipe names have backslashes?)。
<name>
是/name
arg在msvsmon
方面自定义的,<name>@
位于VS方面。默认情况下,用户名msvsmon / VS运行为。当第二根管道被创建时我不知道;在身份验证模式下,它不是。
因此,您需要权限和设置:
<name>
,并根据您认证的用户的管道ACL获得所需的访问权限。显然,msvsmon
中的“权限”窗口反映了ACL(“Debug”必须对应于所需的ACL标志集)。在我的测试中,msvsmon
拒绝将用户添加到允许的列表中,并显示一个模糊的错误。因此,最简单的方法仍然是创建本地用户并将其添加到本地管理员。答案 1 :(得分:1)
约书亚,“跨域”细节意味着什么? Win7和WinXP是不同域名的成员吗?域名是否信任两个方向? “调试”用户帐户是本地帐户还是域帐户? XP盒子真的是XP家庭版吗?如果是这样,它甚至如何加入到域名?
是否还有当前遇到的错误的详细信息 - 错误对话框中是否还有其他文字?目标框中的事件日志中是否有任何其他详细信息(例如,您是否在安全事件日志中看到任何失败 - 登录失败登录/帐户登录尝试?VS或正在调试的应用程序日志是否有任何详细信息在应用程序或系统日志中??
您在XP机器上远程调试哪种应用程序?是ASP.NET还是别的什么?
如果Windows / Visual Studio通过“错误登录和密码”错误提供问题的准确图片,则表明托管代码尝试检查远程进程是否具有访问对象的足够权限时/ process正在调试,远程调试进程的令牌不再是“debug”用户,和/或令牌不再包含“Debug Programs”权限。