VS2008: невозможно запустить отладку, удаленный монитор отладки был закрыт

Я получаю загадочную ошибку время от времени, которую я просто не получаю. Я могу "исправить" его, перезапустив Visual Studio 2008, но это не совсем решение...

В нем указано следующее:

Ошибка при попытке запуска проекта: невозможно начать отладку.

Монитор удаленной отладки Microsoft Visual Studio закрыт на удаленном компьютере.

Я ничего не делаю удаленно, насколько я знаю... Просто запускал обычный отладочный стиль F5. Что это значит? Как я могу это исправить?

Диалог ошибок http://i47.tinypic.com/2j3k5c6.jpg

Ответ 1

Если вы находитесь на 64-битной ОС, тогда вы "молча" удаляете удаленную отладку. Devenv работает в WoW64 (что означает 32-битный процесс)... когда вы нажимаете F5 запускает msvsmon.exe в виде 64-битного процесса и настраивает канал связи между "бесшумной удаленной отладкой" devenv и msvsmon, чтобы разрешить отладку вашего 64-битного процесса,

Проверьте диспетчер задач, когда вы успешно отлаживаете, и вы увидите, как работает msvsmon.exe.

Если приведенное выше предположение (64-битная ОС) верное, ошибка, которую вы видите, основана на том, что Visual Studio попадает в плохое состояние. Если эта ошибка возникает при запуске экземпляра msvsmon.exe... убейте этот экземпляр. Если запуск msvsmon.exe отсутствует, перезапуск devenv, вероятно, является вашим единственным вариантом.

Другим возможным обходным решением является установка вашего проекта на "платформу x86", чтобы вы могли напрямую отлаживать. Скомпилированные управляемые сборки x86 или собственные двоичные файлы будут запускаться в Wow64 и предотвращать любую необходимость в бесшумной удаленной отладке. (Очевидно, это не помогает, если это 64-разрядная проблема... но на практике это редко.)

Я надеюсь, что это помогло или поможет вам в поиске лучшего ответа.

Ответ 2

У меня была такая же проблема с asp.net-разработкой на VS2010. Это была проблема моего IIS. Я не пошел в командной строке, чтобы было iisreset. В противном случае просто reset iis в окне управления iis. Это исправило проблему для меня.