【问题标题】:VS2015 cannot start local debugging on VPN error about remote debugger关于远程调试器的VPN错误VS2015无法启动本地调试
【发布时间】:2015-10-29 15:17:15
【问题描述】:

最近我开始在启动 LOCAL EXE(winforms 或控制台应用程序,VB.NET 4.0 框架目标)时遇到问题。 需要明确的是,我没有进行远程调试!

我正在使用 AVAYA VPN 客户端连接工作,但不需要联网即可进行本地调试。

如果我断开VPN,它会再次正常工作,所以很明显是相关的。但我多年来一直在使用这个 VPN,直到最近几周都没有遇到过这个问题。

这些是启动程序时弹出的 2 个窗口,第一个窗口仅在 Visual Studio 重新启动后弹出一次,第二个窗口在我每次尝试运行任何项目时都会出现。

看来VS2015很困惑,无缘无故尝试进行远程调试。

这些是我迄今为止尝试过的事情

  • 在不调试的情况下运行项目(编译和工作正常)
  • 重启 VS (2015)。
  • 重新启动计算机。
  • 用最少的代码创建新项目(问题仍然存在)。
  • 启用远程调试,运行,然后禁用远程调试。
  • 清洁解决方案,重建解决方案。

如果有人有任何建议或有类似问题以及纠正方法,请协助,这让我很生气。 :)

新信息

我将项目更改为 x86,它现在可以运行了。所以这似乎与64位调试有关。可能远程调试器用于从 32 位 Visual Studio 连接到 64 位进程。这至少给了我一个解决方法,但仍然希望在 VPN 上进行 64 位调试。

如果在 VPN 连接之前 Visual Studio 已经在调试,则连接后 msvsmon.exe 会立即崩溃。

【问题讨论】:

    标签: winforms debugging visual-studio-2015 local remote-debugging


    【解决方案1】:

    您需要在本地计算机上以管理员身份运行 Visual Studio 远程调试器(以管理员身份运行很重要),之后 Visual Studio 才能通过 VPN 附加到进程。

    更新:有一个限定符,你必须选择你的远程调试器会话而不是本地机器,按查找按钮,你会看到它,它可能有名称 MachineName:RemoteDebuggerPort,或 IP 地址,就像我在截图中的例子一样

    VS2017 的远程调试器位置: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Remote Debugger\x64\msvsmon.exe

    【讨论】:

    • 合理的想法,但没有骰子。我已经完全关闭了 UAC,并且 VS 已经以管理员身份运行。我也尝试在开始调试会话之前手动启动进程,使用“以管理员身份运行”,但 VS 仍然启动它自己的远程调试器副本,并失败并显示相同的消息。也为 VS 手动尝试“以管理员身份运行”,但同样的事情。
    • 检查我提供的更新,如果它对你有帮助。 VS 不仅应该以管理员身份运行,还应该以远程调试器身份运行。
    • 好的,现在这很有趣。如果我以这种非常具体的方式使用您建议的方式进行附加,则在不进行调试的情况下启动并附加它仍然无法通过计算机名称(默认)工作。但是当您输入图像“127.0.0.1:4020”时,FIND 仍然会给我带来问题。但是,如果我只是单击进程列表上的刷新,它确实允许我附加到进程并使用断点进行调试。有点麻烦,但它有效。 :)
    • 我也面临同样的问题,甚至无法附加该过程。如果我尝试附加该过程,则会收到如下错误:无法连接到名为“127.0.0.1:4020”的 Microsoft Visual Studio 远程调试器。 Visual Studio 2017 远程调试器 (MSVSMON.EXE) 似乎没有在远程计算机上运行。这可能是因为防火墙阻止了与远程计算机的通信。有关配置远程调试的帮助,请参阅帮助
    • 从以下位置运行远程调试器:C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Remote Debugger\x64\msvsmon.exe
    【解决方案2】:

    我在使用 Visual Studio 2017 和 Cisco AnyConnect VPN 时遇到了同样的问题。我不得不再跳几圈才能让它工作。

    1. 按照其他答案中的说明启动 64 位 MSVSMON。
    2. 在项目设置中,选择“Remote Windows Debugger”。
    3. 将“远程命令”设置为 $(TargetPath)。
    4. 将“远程服务器名称”设置为 127.0.0.1:port,其中“端口”取自 MSVSMON 的输出(在我的例子中为 4022)。

    【讨论】:

    • “在项目设置中”项目设置在哪里?我假设您指的是 Visual Studio 项目?有一个项目 properties 但没有项目 settings.
    • 此外,对于每个版本的 Visual Studio,端口都会增加 2(2019 是端口 4024):docs.microsoft.com/en-us/visualstudio/debugger/…
    猜你喜欢
    • 2023-03-06
    • 2011-01-04
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    • 1970-01-01
    相关资源
    最近更新 更多