【问题标题】:Configure Visual Studio 2010 Remote Debugger配置 Visual Studio 2010 远程调试器
【发布时间】:2011-06-22 20:15:48
【问题描述】:

我在 Windows Server 2003 (x86) 服务器上安装了Visual Studio 2010 Remote Debugger,并且尝试连接它会导致以下错误:

无法连接到 Microsoft Visual Studio 远程调试监视器 命名为“服务器名称”。视觉工作室 目标计算机上的远程调试器 无法连接回这台计算机。 防火墙可能会阻止 通过 DCOM 与本地通信 计算机。请参阅帮助 帮助。

我检查了我的 Windows 防火墙设置,并确保在我的本地计算机上启用了文件共享。我已确保 DCOM 以及调试服务正在服务器上运行。据我所知,没有涉及实际的防火墙。

我还需要进行哪些更改才能使其正常工作?

【问题讨论】:

  • Windows Server 是否与客户端位于同一个域中?
  • 对此有任何更新吗?我也有同样的问题
  • @jayrdub 不走运。让工程师看了一下,没有成功。没有它,我发现了我的直接问题。如果你需要一个快速的答案,我建议你给它一个奖金......
  • 我在RDE 中的方法是使用反向连接以及差分压缩。

标签: visual-studio-2010 remote-debugging


【解决方案1】:

我刚刚遇到了连接问题。问题是客户端 PC(我的桌面)可以连接到运行调试监视器的远程主机,但远程主机无法将数据发送回我的桌面。

原来这是由 Windows 防火墙中的“配置文件”设置引起的。防火墙规则仅限于“公共”配置文件 - 但我的桌面已连接到本地域。将设置更改为“域”可确保远程主机可以将调试数据传回客户端桌面。

在 Windows 防火墙 -> 入站规则 -> Microsoft Visual Studio -> 高级选项卡下检查。

干杯, J

【讨论】:

  • 上述解决方案工作正常。理想情况下应该被标记为正确答案。
【解决方案2】:

以下是我为针对 ASP.NET 应用程序进行远程调试而采取的步骤。不确定您是否已经这样做了,希望对您有所帮助。

  • 在我的机器上(从现在起称为 DEVMACHINE),我共享了包含远程调试器 (msvsmon.exe) 的文件夹。在我的机器上,它位于 C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x86。我调用了共享 msvsmon

  • 在服务器上,我打开 Windows 资源管理器并导航到 \\DEVMACHINE\msvsmon,然后运行 ​​msvsmon.exe(这会打开 Visual Studio 远程调试监视器)

  • 在 DEVMACHINE 上,我启动了 Visual Studio 2010 并打开了代表我正在尝试调试的应用程序的解决方案。

  • 在 Visual Studio 中,单击工具 > 附加到进程...

  • 在限定符字段中输入服务器名称,然后双击列表中的 w3p.exe 进程。

  • 然后我在我想开始调试的位置放置了一个断点

需要注意的几点:部署到服务器的代码是一个 Debug Build,pdb 文件和二进制文件都在那里。我在服务器上拥有完全的管理员权限。服务器上没有安装任何工具,我只是运行了位于 DEVMACHINE 上的 exe。我在 DEVMACHINE 和服务器之间没有任何防火墙。而且,DEVMACHINE 和服务器都在同一个域中。

希望对您有所帮助。

【讨论】:

  • 如果您仍然遇到问题,请确保您指向正确的 msvsmon.exe。如果有疑问,请尝试 x86 和 x64 文件夹。
  • 当我尝试附加到 w3p.exe 进程时,它不在列表中。我必须刷新我的 DEVMACHINE 上已经打开的 aspx 页面,然后刷新进程列表(然后它出现了)。同样最初我没有以管理员身份运行 msvsmon.exe。但是错误消息清楚地解释了我需要使用以管理员身份运行来重新启动它
  • 这很有帮助,我尝试了几种不同的方法,但到目前为止这是最简单的。我需要以管理员身份运行 msvsmon,我必须使用服务器的 IP 地址而不是主机名,并且在服务器上的 msvsmon 选项中我将其设置为无身份验证。它已连接,我有一个要附加到的进程列表。
【解决方案3】:

我一直收到上面列出的相同错误,在尝试了所有其他答案后,问题原来是我的开发机器上禁用了 DCOM。问题已通过使用此technet link 中的说明启用 DCOM 解决。

【讨论】:

  • 本地(即:我的笔记本电脑)还是服务器?
  • 在我的情况下,DCOM 在运行 Visual Studio 的机器上被禁用(所以你的笔记本电脑)。
  • 有趣,我得研究一下。
【解决方案4】:

我正在使用本地 DNS,因此我可以在网站上线之前对其进行测试(通过编辑我的主机文件)。

我的路由器在家里和工作中分配了一个特定的 IP。

dev.example.com 映射到 192.168.1.123

当我的机器更改为不同的网络时,我没有意识到它无法再访问调试器,所以我收到了错误。

相当模糊的情况我不得不得到这个错误,无论重新启动或回收 IIS 都无法解决这个问题。

【讨论】:

    【解决方案5】:

    调试服务也有同样的问题。调试服务自动启动,但我无法连接。我什至完全关闭了防火墙,但也没有用。

    尝试运行调试监视器(而不是服务)并连接到它。您可以在开始菜单中找到它。

    对监视器和服务之间的区别感到困惑?我也是。见http://social.msdn.microsoft.com/Forums/en/vsdebug/thread/afc80afc-c8eb-4831-915a-1edb8d188f98

    【讨论】:

      【解决方案6】:

      同样的问题。我的原因是本地计算机中启用了 Trend 安全,它阻止了防火墙。我无法阻止它,因为我需要密码,所以我只是删除了所有 Trend 进程,它似乎工作正常。因此,您可以检查是否启用了阻止访问的某些防病毒软件。

      我还需要将 devenv.exe 添加到本地计算机的 Windows 防火墙中的允许程序中,并设置其策略。

      【讨论】:

        【解决方案7】:

        以下是在 Visual Studio IDE 上设置 Visual Studio 远程调试监视器的快速步骤。

        • 打开程序 > Microsoft Visual Studio 2010 > Visual Studio 工具 > Visual Studio 2010 远程调试器文件夹。

        • Windows 资源管理器显示远程调试监视器的 32 位和 64 位版本。

        • 将与远程服务器匹配的相应版本(例如 x64 机器使用 X64 文件夹和 x32 机器使用 X86 文件夹)复制到 你的机器。

        • 在远程计算机上的控制台中,转到文件夹并启动 msvsmon.exe。

        • 转到工具 > 选项,将身份验证模式更改为无身份验证,然后选中允许任何用户调试复选框。

        • 在您的开发机器上,在 Visual Studio 上,转至工具 > 附加到进程。

        • 将 Transport to Remote 和 Qualifier 更改为您的远程服务器的名称。

        • 您现在应该会在该列表中看到要调试的可执行文件。选择您要调试的进程,然后单击附加。

        • 您现在可以在远程服务器上运行代码时对其进行调试。

        • 一旦完成,请记住关闭远程服务器上的远程调试监视器。

        请参考以下MS链接: https://docs.microsoft.com/en-us/visualstudio/debugger/remote-debugging-cpp?view=vs-2017

        【讨论】:

          猜你喜欢
          • 2013-06-15
          • 2014-05-09
          • 2011-08-19
          • 1970-01-01
          • 1970-01-01
          • 2011-09-10
          • 2011-06-13
          • 2011-06-16
          • 2011-07-30
          相关资源
          最近更新 更多