Как остановить отладку в Visual Studio

Обновлено: 21.11.2024

В этом сообщении блога мы узнаем о важных способах отладки Visual Studio 2019, которые очень удобны при отладке приложения, а также помогают повысить производительность.

Visual Studio 2019 — одна из лучших интегрированных сред разработки (IDE) для разработчиков. IDE имеет множество функций, которые облегчают процесс разработки. Эти функции можно дополнительно настраивать или добавлять новые функции с помощью расширений Visual Studio.

Visual Studio 2019 поддерживает огромный список языков программирования и платформ приложений. Приложения, начиная от мобильного приложения, приложения Windows, веб-приложения, облачных служб, приложений IoT и многих других, могут быть созданы с использованием этой единой IDE, и лучшая из всех полнофункциональная версия Community Edition может использоваться без какой-либо лицензионной платы. [Скачать здесь]

1. Начать отладку: F5

Ярлык F5 запускает отладку приложения и может вызывать или не вызывать следующие операции

  • Если в проекте есть какое-либо изменение кода после создания предыдущей сборки, то сначала запускается операция сборки, а затем начинается отладка.
  • Если какая-либо точка останова применяется до того, как приложение ожидает каких-либо действий пользователя, приложение прервется на этой строке кода.

2. Остановить отладку: Shift + F5

Сочетание клавиш Shift + F5 останавливает текущий сеанс отладки. Ярлык недоступен, если приложение запущено в режиме «Запуск без отладки».

4. Перезапустить отладку: Ctrl + Shift + F5

Сочетание клавиш Ctrl + Shift + F5 перезапускает сеанс отладки. Ярлык останавливает текущий сеанс и немедленно запускает новый. Ярлык недоступен, если приложение запущено в режиме «Запуск без отладки».

5. Шаг вперед: F10

Сочетание клавиш F10 можно использовать для двух целей. Во-первых, чаще всего используется для перехода через строку, выполнения основной строки кода и отладчика. указатель перемещается на следующую строку.

Отладка ярлыков Visual Studio 2019: перешагните через F10

Второе использование ярлыка заключается в запуске сеанса отладки и прерывании на первой строке кода, где приложение запускает, например, основной метод

6. Вступить: F11

Если текущая строка кода под указателем отладчика содержит какой-либо метод, нажатие клавиши F11 переместит указатель отладчика в первую строку метода. Если в строке нет метода, то будет выполнена текущая строка, а указатель переместится к следующему оператору, выполняющемуся точно так же, как функция «Переход».

Отладка ярлыков Visual Studio 2019: нажмите F11

Другая функция этого ярлыка – начать сеанс отладки и прервать его на первой строке кода, где приложение запускает, например, основной метод

7. Выйти: Shift + F11

Этот ярлык выполнит все операторы в методе, в котором в данный момент находится отладчик, и вернется к строке, в которой вызывается метод.

Отладка ярлыков Visual Studio 2019: выход: Shift+F11

8. Установить следующее выражение: Ctrl + Shift + F10

Много раз при отладке требуется пропустить определенные строки кода или вернуться к ранее выполненной строке и начать выполнение с выбранной строки. Это можно сделать, перетащив указатель отладчика на эту конкретную строку или поместив курсор на эту строку и нажав сочетание клавиш Ctrl + Shift + F10. Таким образом, ярлык помещает точку отладчика в выбранную строку кода.

Отладка сочетаний клавиш Visual Studio 2019: установка следующего оператора Ctrl + Shift + F10

9. Установить и переключить точку останова: F9

Этот ярлык очень удобен для переключения точки останова на текущей строке кода, где находится курсор.

Отладка ярлыков Visual Studio 2019: переключение точки останова F9

10. Включить или отключить точку останова: Ctrl + F9

Этот ярлык используется для отключения или включения точки останова.

Отладка ярлыков Visual Studio 2019: включить или отключить точку останова Ctrl+F9

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

Я надеюсь, что этот пост о важных ярлыках отладки в Visual Studio 2019 будет полезен, спасибо за посещение, Удачи.

В Visual Studio есть буквально сотни сочетаний клавиш, и мало кто запоминает их все, но, безусловно, стоит запомнить хотя бы несколько. Вот некоторые из них, которые будут полезны при отладке.

  • F5 – Выполнить – одновременно запускает сеанс отладки и продолжает сеанс отладки, если сеанс приостановлен.
  • F10 – шаг вперед – выполняется только следующая инструкция. Если следующий оператор является вызовом функции, он запускает всю функцию, прежде чем снова приостановить выполнение (если только в функции нет точки останова).
  • F11 – Шаг с заходом – выполняется только следующая инструкция. Если следующий оператор является вызовом функции, он приведет вас к этой функции и сделает паузу перед выполнением первого оператора.
  • Shift+F11 — "Выход" – выполняется до тех пор, пока код не вернется из текущей выполняемой функции. Это очень удобно, когда вы закончили отладку функции, но в этой функции еще осталось выполнить множество операторов.
  • Ctrl+F10 — Выполнить до курсора. Это позволяет вам переместить курсор на строку кода, а затем запустить ее до тех пор, пока туда не доберется отладчик. Это удобно, если вы хотите пропустить блок кода. Вы также можете нажать F9, а затем F5, что добавит точку останова к вашему курсору, а затем перейти к ней.
  • Ctrl+Shift+F10 — Установить следующую инструкцию — устанавливает строку, на которой находится курсор, в качестве следующей инструкции, которую будет выполнять отладчик. Очень удобно, если вы что-то пропустили и хотите снова сделать резервную копию и отладить это.
  • Alt+Num * — Показать следующее заявление — Извините, пользователи ноутбуков, это работает только с * на цифровой клавиатуре. Это приведет вас к следующему оператору, который будет выполняться. Очень удобно, если вы просмотрели код и хотите быстро вернуться к отладке, не выполняя никаких операторов.
  • Shift+F5 – остановить отладку – завершить сеанс отладки.
  • Ctrl+Shift+F5 — перезапустить отладку — появляется сообщение «В код были внесены изменения, которые нельзя применить во время отладки»? Это быстро перезапустит сеанс отладки, и вы сможете продолжить работу.

Конечно, все они доступны через пользовательский интерфейс, но если вы часто ищете их на панели команд или щелкаете правой кнопкой мыши и пытаетесь найти их в контекстном меню, запоминание хотя бы некоторых из этих сочетаний клавиш поможет сохранить вы сосредоточились на отладке.

Эта фиксация не принадлежит ни к одной из веток в этом репозитории и может принадлежать ответвлению за пределами репозитория.

  • Открыть с рабочего стола
  • Просмотреть в необработанном виде
  • Копировать исходное содержимое Копировать необработанное содержимое

Копировать необработанное содержимое

Копировать необработанное содержимое

Выполняйте отладку с помощью JIT-отладчика в Visual Studio. Оперативная отладка может автоматически запускать Visual Studio при возникновении ошибки или сбоя приложения.

Отладка с помощью JIT-отладчика в Visual Studio

Оперативная отладка может автоматически запускать Visual Studio, когда приложение, работающее за пределами Visual Studio, выдает ошибку или аварийно завершает работу. Благодаря отладке Just-In-Time вы можете тестировать приложения вне Visual Studio и открывать Visual Studio, чтобы начать отладку при возникновении проблемы.

Оперативная отладка работает для настольных приложений Windows. Он не работает с универсальными приложениями для Windows или с управляемым кодом, размещенным в собственном приложении, таком как визуализаторы.

[!TIP] Если вы просто хотите, чтобы диалоговое окно JIT-отладчика не появлялось, но у вас не установлена ​​Visual Studio, см. раздел Отключение JIT-отладчика. Если у вас когда-то была установлена ​​Visual Studio, вам может потребоваться отключить отладку Just-In-Time в реестре Windows.

Включить или отключить оперативную отладку в Visual Studio

[!NOTE] Чтобы включить или отключить отладку Just-In-Time, вы должны запустить Visual Studio от имени администратора. Включение или отключение оперативной отладки устанавливает раздел реестра, и для изменения этого ключа могут потребоваться права администратора. Чтобы открыть Visual Studio от имени администратора, щелкните правой кнопкой мыши приложение Visual Studio и выберите «Запуск от имени администратора».

Можно настроить оперативную отладку в диалоговом окне Инструменты Visual Studio > Параметры (или Отладка > Параметры).

Чтобы включить или отключить оперативную отладку:

В меню "Инструменты" или "Отладка" выберите "Параметры" > "Отладка" > "Точно вовремя".

В поле Включить отладку Just-In-Time для этих типов кода выберите типы кода, для которых требуется отладка Just-In-Time: Managed, Native и/или Script.

Выберите ОК.

Если вы включили отладчик Just-In-Time, но он не открывается при сбое или ошибке приложения, см. раздел Устранение неполадок при отладке Just-In-Time.

Отключить оперативную отладку из реестра Windows

Оперативная отладка может быть включена, даже если Visual Studio больше не установлена ​​на вашем компьютере. Если Visual Studio больше не установлена, вы можете отключить оперативную отладку, изменив реестр Windows.

Чтобы отключить оперативную отладку путем редактирования реестра:

В меню "Пуск" Windows запустите редактор реестра (regedit.exe).

В окне редактора реестра для 64-разрядных компьютеров найдите и удалите следующие записи реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

<р>. image type="content" source="../debugger/media/dbg-jit-registry.jpg" alt-text="раздел реестра JIT" border="true".

Если присутствуют следующие записи реестра или на вашем компьютере установлена ​​32-разрядная операционная система, удалите следующие записи:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

Не удаляйте и не изменяйте другие разделы реестра.

Закройте окно редактора реестра.

Включить оперативную отладку формы Windows

По умолчанию приложения Windows Form имеют обработчик исключений верхнего уровня, который позволяет приложению продолжать работу, если оно может восстановиться. Если приложение Windows Forms выдает необработанное исключение, отображается следующее диалоговое окно:

Чтобы включить оперативную отладку вместо стандартной обработки ошибок Windows Form, добавьте следующие параметры:

В приложении C++ Windows Form также задайте для атрибута DebuggableAttribute значение true в файле .config или в коде. Если вы компилируете с /Zi и без /Og, компилятор устанавливает этот атрибут за вас. Однако, если вы хотите отладить неоптимизированную сборку выпуска, вы должны установить атрибут DebuggableAttribute, добавив следующую строку в файл AssemblyInfo.cpp вашего приложения:

Дополнительную информацию см. в разделе xref:System.Diagnostics.DebuggableAttribute.

Используйте оперативную отладку

В этом примере показано, как выполнять отладку Just-In-Time, когда приложение выдает ошибку.

Для выполнения этих действий у вас должна быть установлена ​​Visual Studio. Если у вас нет Visual Studio, вы можете загрузить бесплатную версию Visual Studio Community Edition.

Убедитесь, что отладка Just-In-Time включена в меню Инструменты > Параметры > Отладка > Just-In-Time.

Когда проект откроется в Visual Studio, откройте файл Program.cs. Замените метод Main() следующим кодом, который выводит строку на консоль, а затем создает исключение NullReferenceException:

Чтобы построить решение, выберите конфигурацию "Отладка" (по умолчанию) или "Выпуск", а затем выберите "Сборка" > "Перестроить решение".

  • Выберите конфигурацию отладки для полной отладки.
  • Если вы выберете Конфигурация выпуска, вы должны отключить Только мой код, чтобы эта процедура работала. В разделе "Инструменты" > "Параметры" > "Отладка" снимите флажок "Включить только мой код".

Дополнительную информацию о конфигурациях сборки см. в разделе Общие сведения о конфигурациях сборки.

Вы должны увидеть следующее командное окно:

Откроется диалоговое окно «Выберите своевременный отладчик».

В разделе "Доступные отладчики" выберите "Новый экземпляр", если он еще не выбран.

Выберите ОК.

Проект ThrowsNullException открывается в новом экземпляре Visual Studio, при этом выполнение останавливается на строке, вызвавшей исключение:

С этого момента вы можете начать отладку. Если бы вы отлаживали реальное приложение, вам нужно было бы выяснить, почему код выдает исключение.

[!CAUTION] Если ваше приложение содержит ненадежный код, появится диалоговое окно с предупреждением о безопасности, в котором вы сможете решить, следует ли продолжать отладку. Прежде чем продолжить отладку, решите, доверяете ли вы коду. Вы сами код писали? Если приложение работает на удаленной машине, узнаете ли вы имя процесса? Если приложение работает локально, рассмотрите возможность запуска вредоносного кода на вашем компьютере. Если вы решите, что код заслуживает доверия, выберите ОК. В противном случае выберите Отмена.

Устранение неполадок при своевременной отладке

Если отладка Just-In-Time не запускается при сбое приложения, даже если она включена в Visual Studio:

Отчеты об ошибках Windows могут взять на себя обработку ошибок на вашем компьютере.

Чтобы устранить эту проблему, используйте редактор реестра, чтобы добавить параметр DWORD Disabled со значением 1 в следующие разделы реестра:

HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\Отчеты об ошибках Windows

(Для 32-разрядных машин) HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting

Для получения дополнительной информации см. настройки .WER.

Известная проблема Windows может быть причиной сбоя JIT-отладчика.

Исправление заключается в добавлении значения DWORD Auto со значением данных 1 в следующие разделы реестра:

HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug

(Для 32-разрядных машин) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug

Во время отладки Just-In-Time вы можете увидеть следующие сообщения об ошибках:

Невозможно подключиться к аварийному процессу. Указанная программа не является программой Windows или MS-DOS.

Отладчик попытался подключиться к процессу, работающему под другим пользователем.

Чтобы обойти эту проблему, в Visual Studio откройте "Отладка" > "Присоединить к процессу" (или нажмите Ctrl + Alt + P) и найдите процесс, который нужно отладить, в списке "Доступные процессы". Если вы не знаете имя процесса, найдите идентификатор процесса в диалоговом окне Just-In-Time Debugger Visual Studio. Выберите процесс в списке «Доступные процессы» и нажмите «Присоединить». Выберите Нет, чтобы закрыть диалоговое окно отладчика Just-In-Time.

Не удалось запустить отладчик, так как ни один пользователь не вошел в систему.

Ни один пользователь не вошел в консоль, поэтому нет сеанса пользователя для отображения диалогового окна оперативной отладки.

Чтобы решить эту проблему, войдите в систему.

Класс не зарегистрирован.

Отладчик попытался создать незарегистрированный COM-класс, вероятно, из-за проблемы с установкой.

Чтобы решить эту проблему, используйте установщик Visual Studio для переустановки или восстановления установки Visual Studio.

Веб-разработчика очень расстраивает, когда вы закрываете вкладку или окно браузера только для того, чтобы Visual Studio предположила, что вы также закончили работу с отладчиком. Если отключить этот параметр, отладчик Visual Studio будет продолжать работать при закрытии окон браузера.

Visual Studio имеет параметр, который автоматически останавливает работу отладчика, когда завершается процесс окна вывода проекта. Это, однако, может быть очень раздражающим по трем причинам. Во-первых, возможно, вы случайно закрыли окно или не хотите, чтобы отладчик заканчивал работу. Повторный запуск отладчика может занять много времени для повторной компиляции и запуска. Во-вторых, вы могли открыть другие веб-сайты в том же процессе браузера, и остановка отладчика в Visual Studio закроет браузер, поэтому вы также потеряете эти вкладки. Это также может закрыть другие окна или вкладки, запущенные из основного браузера выходных данных проекта.

К счастью, в Visual Studio есть параметр, который разъединяет отладчик и браузер, чтобы закрытие браузера не завершало отладчик, а закрытие отладчика не закрывало браузер.

Чтобы найти этот параметр, откройте диалоговое окно "Параметры Visual Studio" в меню "Инструменты" и выберите "Параметры". Оттуда найдите веб-проекты в дереве навигации "Проекты и решения".

Теперь снимите флажок "Остановить отладчик при закрытии окна браузера, закрыть окно браузера при остановке отладчика".

Нажмите «ОК», и теперь окно браузера не закроется, когда вы прекратите отладку, а когда вы закроете окно браузера, отладчик продолжит работу.

Пока нет комментариев. Почему бы не начать обсуждение?

Тим Тротт — творческий фотограф, путешественник, астроном и инженер-программист, страстно любящий саморазвитие и стремящийся к личному развитию.

Стань первым из друзей, кому это понравится

Привет, я Тим Тротт. Я творческий фотограф, путешественник, астроном и инженер-программист со страстью к саморазвитию и стремлением к личному развитию.

Это мой веб-сайт, где я могу поделиться своим опытом, знаниями и фотографиями. Я люблю помогать людям, пишу статьи и учебные пособия о своих увлечениях, которыми я больше всего увлечен. Надеюсь, вам нравится читать мои статьи так же, как мне нравится их писать.

Читайте также: