Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 通过网络连接到Visual Studio远程调试器(msvsmon)所需的设置_Windows_Visual Studio_Windows Xp_Windows Authentication_Remote Debugging - Fatal编程技术网

Windows 通过网络连接到Visual Studio远程调试器(msvsmon)所需的设置

Windows 通过网络连接到Visual Studio远程调试器(msvsmon)所需的设置,windows,visual-studio,windows-xp,windows-authentication,remote-debugging,Windows,Visual Studio,Windows Xp,Windows Authentication,Remote Debugging,我们正在尝试使远程调试跨域工作,从windows 7计算机到windows xp家用计算机。使用LogMeIn Hamachi将这些机器连接在一起 我查阅了MSDN指南,了解了如何彻底设置远程调试,并克服了许多错误,但我经常遇到障碍。我可以让它进入本机调试,但无法让托管调试进行身份验证。以下是我已经做过的事情-- VisualStudio和调试监视器在各自的计算机上作为相同的管理员用户(debug/debug)运行 调试器最初拒绝在xp机器上运行,因此我运行它:runas/user:debug

我们正在尝试使远程调试跨域工作,从windows 7计算机到windows xp家用计算机。使用LogMeIn Hamachi将这些机器连接在一起

我查阅了MSDN指南,了解了如何彻底设置远程调试,并克服了许多错误,但我经常遇到障碍。我可以让它进入本机调试,但无法让托管调试进行身份验证。以下是我已经做过的事情--

  • VisualStudio和调试监视器在各自的计算机上作为相同的管理员用户(debug/debug)运行

  • 调试器最初拒绝在xp机器上运行,因此我运行它:runas/user:debug“c:\josh\msvsmon.exe-nosecuritywarn-noauth-anyuser”,然后从那里将其切换到托管模式

  • hamachi提供计算机虚拟IP,但不提供主机名。我已将远程计算机的IP解析为本地主机文件中的主机名,这使我无法找到vstudiodebug@HOSTNAME去我现在在天堂的地方

  • 编辑:对,我当前的错误。我尝试登录,但在身份验证模式下出现“错误登录和密码”错误。我尝试手动设置“来宾解析到本地帐户”消息,但没有帮助

请随意忽略所有这些特定的部分,只解决我的一般问题——我只是出于彻底性和背景故事等考虑才把它们包括进来。

约书亚,“跨域”细节意味着什么?Win7和WinXP框是不同域的成员吗?域在两个方向上都信任吗?“调试”用户帐户是本地帐户还是域帐户?XP box真的是XP家庭版吗?如果是这样,它是如何加入一个域的

当前遇到的错误是否有更多详细信息?错误对话框中是否有其他文本?目标框上的事件日志中是否有任何其他详细信息(例如,您是否在安全事件日志中看到任何失败-是否记录了失败的登录/帐户登录尝试?VS或正在调试的应用程序是否在应用程序或系统日志中记录了任何详细信息)

您正在XP机器上远程调试哪种应用程序?是ASP.NET还是别的什么


如果Windows/Visual Studio提供了“错误登录和密码”错误问题的准确情况,则表明在托管代码尝试检查远程进程是否有足够的权限访问正在调试的对象/进程时,远程调试进程的令牌不再是“调试”用户和/或令牌不再包含“调试程序”权限。

嗅探显示VS 2010通过SMB连接到远程调试器。它打开IPC$共享,然后尝试打开命名管道
\Microsoft.VisualStudio.10.0.Remote\
,然后
\Microsoft.VisualStudio.10.0.Remote\svc=msvsmon100
(请参阅有关附加反斜杠的信息)

msvsmon
侧使用
/name
参数进行自定义,在VS侧使用前缀
@
。默认情况下,它是msvsmon/VS运行方式的用户名。我不知道第二个管道是什么时候创建的;在身份验证模式下,它不是

因此,您需要以下权限和设置:

  • 通过SMB(通过NetBIOS或直接)连接到远程服务器并成功验证
  • 连接到正确的管道并使用它

    • 对于第一项,最简单的方法是在远程计算机上创建一个帐户,该帐户的名称和密码与VS运行时的名称和密码相同。这也是本文的建议。
      • 另一种可能的方法是。请注意,保存creds的服务器名称必须与您连接的服务器名称完全相同(它不必是名称,也可以是IP)
    • 对于第二项,您需要在VS端和/或服务器端指定正确的
      ,并根据管道的ACL为您认证为的用户提供所需的访问权限。显然,
      msvsmon
      中的“权限”窗口反映了ACL(“调试”必须对应于所需的ACL标志集)。在我的测试中,
      msvsmon
      拒绝将用户添加到允许的列表中,出现了一个模糊的错误。因此,最简单的事情仍然是创建本地用户并将其添加到本地管理员

    伙计,太棒了。不幸的是,我已经放弃了。但也许我会尝试让它再次工作——让它工作起来会非常有用。