错误:64 位调试器操作花费的时间比预期长

你可能会看到以下错误之一:

  • 64 位调试操作所需的时间比预期的要长。
  • 调试器操作花费的时间比预期长。

在这些场景中,Visual Studio 向 msvsmon.exe发送了请求,但返回结果需要很长时间。

此错误的最常见原因是:

  • 你的计算机上安装了网络安全软件,这导致网络堆栈不可靠,进而导致通过localhost的过程中出现数据包丢失。 请尝试禁用所有网络安全软件,看看这是否解决了它。 如果是,请向网络安全软件供应商报告软件是否干扰 localhost 了流量。 Visual Studio 2019 及更高版本不应发生这种情况,因为这些版本不使用套接字进行此通信。

  • 您遇到的问题是 Visual Studio 无响应或者出现其他性能问题。 如果问题定期发生,可以收集 Visual Studio(devenv.exe)和工作进程(msvsmon.exe)的转储,并将其发送到 Microsoft。 有关报告问题的信息,请参阅 如何报告 Visual Studio 的问题

  • 如果使用的是 Visual Studio 2022 之前的 Visual Studio 版本,则可能会在 32 位 Visual Studio 进程中运行时尝试调试 64 位应用程序。 若要解决此问题,请按照说明 调试 64 位应用程序
  • 在 Visual Studio 2019 和早期版本中,你可能在 32 位 Visual Studio 进程中运行时尝试调试 64 位应用程序。 若要解决此问题,请按照本文中的说明调试 64 位应用程序。

调试 64 位应用程序

可以调试在本地计算机或远程计算机上运行的 64 位应用程序。

  • 若要调试远程计算机上运行的 64 位应用程序,请参阅 远程调试

  • 若要在本地调试 64 位应用程序,Visual Studio 使用 64 位工作进程(msvsmon.exe)来执行在 32 位 Visual Studio 进程中无法执行的低级别作。

使用 .NET Framework 版本 3.5 或更早版本的 64 位进程不支持混合模式调试。

若要尝试在本地调试 64 位应用程序,请执行以下作:

  1. 创建 Visual Studio 解决方案,例如 C# 控制台应用程序。

  2. 使用 Configuration Manager 将配置设置为 64 位。 有关详细信息,请参阅 “如何:将项目配置为目标平台”。

  3. 此时,远程调试器(msvsmon.exe)的 64 位版本开始。 只要具有 64 位配置的解决方案处于打开状态,它就运行。

  4. 开始调试。 应具有与 32 位配置相同的体验。 如果仍然收到相同的错误,请参阅本文的开头以获取其他建议。