Подтвердить что ты не робот

Как устранить неполадки и отладить ошибки режима проектирования Visual Studio?

Используя Windows 7 и Visual Studio 2010, я пишу пользовательский UserControl С#. Я читал код в течение нескольких недель, и недавно, когда я попытался переключиться в режим разработки, Visual Studio повесила "НЕ ОТВЕТ". Я могу ждать час, и до сих пор ничего не происходит. Нажав на кнопку закрытия, вы получите сообщение "Вы хотите подождать, закрыть, перезапустить и отправить информацию в Microsoft".

Есть ли способ (стек) отслеживать код, который пытается выполнить дизайнер? Может быть, сообщения трассировки времени разработки или точки останова?

4b9b3361

Ответ 1

Для Visual Studio 2010/2013

Вы можете отлаживать сам дизайнер Visual Studio! Откройте второй экземпляр Visual Studio, используйте Tools -> Attach To Process и присоединитесь к первой Visual Studio (т.е. devenv.exe).

В экземпляре Visual Studio # 2 (тот, который вы выполнили приложением для процесса): поместите контрольную точку в свой конструктор usercontrol

В экземпляре Visual Studio # 1 (оригинальный, который застрянет): Откройте конструктор, в котором находится ваш пользовательский контроль, будет удалена точка останова в VS # 2.

Для Visual Studio 2012

Процесс, который вы хотите отладить, XDesProc.exe - см. Dr. Ответ ABT. В противном случае процедура будет такой же, как для Visual Studio 2010/2013.

Ответ 2

Для Visual Studio 2010 этот ответ выполняет задание.

Для Visual Studio 2012 или выше, то, что вам нужно сделать, это отладить процесс Visual Studio Designer. Процесс, который вы хотите отлаживать, называется XDesProc.exe

Enter image description here.

Я делаю следующее:

  • Откройте два экземпляра Visual Studio, указав на одно и то же решение
  • Закройте все окна в обоих.
  • Убить все экземпляры XDesProc.exe в диспетчере задач
  • В экземпляре Visual Studio A откройте любое представление (не одно исключение). Это запустит процесс проектирования XDesProc для экземпляра Visual Studio A
  • В экземпляре Visual Studio B присоединитесь к процессу на XDesProc.exe и установите точки останова или установите исключения прерываний
  • В экземпляре Visual Studio A откройте представление (которое имеет исключение)
  • Visual Studio B должен разорваться.

Enter image description here

Если вы пропустили его или вам нужно перезапустить шаги, начните снова с шага (2) "Завершите все окна, убивающие экземпляры XDesProc. Иногда дизайнер запускается один раз и кэширует значения, и для отслеживания проблемы вам понадобится чистый дизайнер без исключений.