Поделиться через


Отладка 64-разрядных приложений

Существует возможность отладки 64-разрядного приложения, которое выполняется на локальном или удаленном компьютере.

Сведения об отладке 64-разрядного приложения, которое выполняется на удаленном компьютере, см. в статье Remote Debugging.

Для отладки 64-разрядных приложений локально в Visual Studio используется 64-разрядная версия рабочего процесса (msvsmon.exe) для выполнения низкоуровневых операций, которые невозможно выполнить в 32-разрядном процессе Visual Studio.

Отладка в смешанном режиме не поддерживается для 64-разрядных процессов, использующих платформу .NET Framework 3.5 или более раннюю версию.

Отладка 64-разрядных приложений

Чтобы отладить 64-разрядное приложение, выполните следующее.

  1. Создайте решение Visual Studio, например консольное приложение C#.

  2. С помощью Configuration Manager задайте для конфигурации 64-разрядный режим. Для получения дополнительной информации см. How to: Configure Projects to Target Platforms.

  3. На этом этапе запускается 64-разрядная версия удаленного отладчика (msvsmon.exe). Он работает до тех пор, пока открыто решение с 64-разрядной конфигурацией.

  4. Запустите отладку. Результат должен быть таким же, как и в случае с 32-разрядной конфигурацией. Если возникли ошибки, обратитесь к разделу "Устранение проблем", расположенному ниже.

Устранение проблем при 64-разрядной отладке

Может появиться сообщение об ошибке "64-разрядная операция отладки занимает больше времени, чем ожидалось" или "Операция отладчика занимает больше времени, чем ожидалось". В этом случае Visual Studio отправила запрос на msvsmon.exe, и потребовалось много времени для возврата этого запроса.

Есть две основных причины этой ошибки.

  • На компьютере установлено программное обеспечение безопасности сети, которое привело к ненадежности сетевого стека, и оно удаляло пакеты localhost. Попробуйте отключить все программное обеспечение безопасности сети и узнать, разрешено ли это. Если это так, сообщите поставщику программного обеспечения безопасности сети, что программное обеспечение вмешивается в localhost трафик. Эта ошибка не должна возникать в Visual Studio 2019 и последующих версиях, так как в них не используются сокеты для такого обмена данными.

  • Возникает проблема, приводящая к тому, что Visual Studio не отвечает, либо иная проблема с производительностью. Если проблема возникает регулярно, можно собрать дампы Visual Studio (devenv.exe) и рабочего процесса (msvsmon.exe) и отправить их в корпорацию Майкрософт. Сведения о том, как сообщить о проблеме, см. в статье How to Report a Problem with Visual Studio.