** сообщение отредактировано, более подробная информация ниже
Я только что посмотрел два отличных видео о расширенной отладке Dotnet (от Брайана Расмуссена) и пытаюсь повторить некоторые шаги, но просто не знаю, как поступить с этой ошибкой:
An attempt to set a processes DebugPort or ExceptionPort was made,
but a port already exists in the process.
Я нашел несколько ответов в Google, и я в целом понимаю, что говорит ошибка, но я просто не понимаю один странный факт: когда я компилирую свое простое приложение <.NET 4.0, я могу присоединиться, как показано в фильме, пытаясь сделать то же самое после компиляции таргетинга .NET 4.0 отключает меня от присоединения. </p>
В одном из ответов Google говорится: «Попробуйте подключиться с помощью windbg, используя неинвазивный режим», но ... Брайан не использует ни один из таких флажков. Это просто работает на его видео.
Какая разница? Где подвох? Это Windows 7 против Vista? Может быть, какие-то другие параметры компиляции имеют значение?
Я использую MS VS 2k10 с MS SDK с Windbg x86, загруженным из msdn, и символы, правильно настроенные для http-сервера. Система MS Vista x86.
Ресурсы (точное время> = 8:15):
http://channel9.msdn.com/posts/MDCC-TechTalk-Advanced-NET-Debugging-part-2
Edit:
Ошибка отображается при подключении к процессу, который был запущен из VS. При попытке подключиться к процессу, который был запущен / вне VS, windbg не показывает никакого контента.
Edit2:
У Windbg были некоторые проблемы с освежением в моей системе. Используя несколько раз пункт меню «Windows \ [Undock | Dock all]», я смог увидеть содержимое присоединенного процесса, который отсутствовал.
Итак, единственный вопрос сейчас: В чем разница при присоединении к процессу, запущенному из VS, когда он компилируется один раз с использованием target <4.0 и снова = 4.0? Почему при таргетинге 4.0 windbg не может подключиться к процессу в неинвазивном режиме. Что изменилось в VS 2k10? </p>