Рабочие режимы

Существует три режима, в которых интегрированная среда разработки может работать следующим образом:

  • Режим конструктора

  • Режим выполнения

  • Режим останова

    Переход пользовательского обработчика отладки между этими режимами — это решение о реализации, которое требует ознакомления с механизмами перехода. DE может или не может напрямую реализовать эти режимы. Эти режимы — это режимы отладки пакетов, которые переключаются на основе действий пользователя или событий из DE. Например, переход от режима выполнения к режиму останова вызван остановкой события из DE. Переход от перерыва к режиму выполнения или режиму шага запускается пользователем, выполняющим такие операции, как шаг или выполнение. Дополнительные сведения о переходах DE см. в разделе "Управление выполнением".

Режим конструктора

Режим конструктора — это состояние отладки Visual Studio, в течение которого можно задать функции отладки в приложении.

В режиме разработки используются только несколько функций отладки. Разработчик может задать точки останова или создать выражения часов. DE никогда не загружается или вызывается, пока интегрированная среда разработки находится в режиме разработки. Взаимодействие с DE происходит только в режимах выполнения и останова.

Режим выполнения

Режим выполнения происходит при выполнении программы в сеансе отладки в интегрированной среде разработки. Приложение запускается до завершения, пока не будет достигнута точка останова или до тех пор, пока не будет создано исключение. Когда приложение запускается до завершения, de de переходит в режим конструктора. При нажатии точки останова или возникновении исключения de DE переходит в режим останова.

Режим останова

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

Режим останова вводится при отправке синхронного события остановки. Синхронные события остановки, также называемые событиями остановки, уведомляют диспетчер отладки сеансов (SDM) и интегрированную среду разработки, что отлаживаемое приложение перестало выполнять код. Интерфейсы IDebugBreakpointEvent2 и IDebugExceptionEvent2 являются примерами событий остановки.

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

Режим шага

Режим шага возникает, когда программа выполняет шаги к следующей строке кода или в нее или из нее. Шаг выполняется путем вызова шага метода. Для этого метода необходимо DWORDуказать перечисления STEPUNIT и STEPKIND в качестве входных параметров.

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

См. также