Как отлаживать во время разработки? - PullRequest
14 голосов
/ 24 июня 2011

Я создал собственный ListView с UserControl. Когда мышь входит в ColumnHeader, она должна изменить цвет во время разработки.

Это работает, но мне нужно отладить код. Как я могу отладить код во время разработки?

Example image

Ответы [ 2 ]

21 голосов
/ 24 июня 2011

См. Пошаговое руководство. Отладка пользовательских элементов управления Windows Forms во время разработки (MSDN).

Или более коротким способом сделать это только один раз:

  • Запустите Visual Studio два раза с одним и тем же решением.
  • Первый с открытым конструктором элемента управления, второй для присоединения с помощью Меню -> Отладка -> Присоединить к процессу -> Другойdevenv.exe (Visual Studio)
1 голос
/ 04 июля 2018

Ответ Келона верен для Winforms, но не для XAML.

В Visual Studio 2012 и более поздних версиях конструктор XAML работает в своем собственном процессе вне Visual Studio (devenv.exe).Для отладки элементов управления XAML во время разработки вам необходимо подключить второй экземпляр Visual Studio к «XDesProc.exe» (Xaml Designer Process).

Подробные инструкции:

  • Открыть Visual Studioс решением, содержащим ваш XAML для отладки
  • Откройте любой файл XAML (так запустится XDesProc)
  • Запишите идентификатор процесса XDesProc.exe, используя: Debug> Attach to Process, прокрутитевниз и запишите идентификатор процесса.(На самом деле не присоединяйте, иначе Visual Studio зависнет).
  • Закрыть файл XAML
  • Открыть второй экземпляр Visual Studio с тем же решением
  • Отладка> Присоединить к процессу XDesProc, который вы отметили выше

Attach to XDesProc

  • Если вы отлаживаете исключение, выберите «Отладка»> «Windows»> «Параметры исключений», «Общие исключения для среды выполнения»> «Проверено»

Debug Windows Exception Settings

Common Language Runtime Exceptions

  • Вернитесь к первому экземпляру и заново откройте файл XAML.
  • Второй экземпляр Visual Studio будет зависать за исключением
  • Вы также можете установить точки останова во втором экземпляре
  • Для перекомпиляции после исправления ошибки необходимо прекратить отладку
  • Для повторной отладки вы можете сэкономить время, выполнив Debug> Reattach to process, который подключается к тому же XDesProc.exe, что и раньше.

Reattach

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...