Поделиться через


Запуск программы

Пользователи, которые хотят отладки программы могут нажать клавишу F5 для запуска отладчика из интегрированной среды разработки. Это начинает последовательность событий, в конечном счете приводятся в интегрированной среды разработки при подключении к обработчику отладки (DE), который, в свою очередь, подключен или вложенно, в программе следующим образом:

  1. Интегрированной среды разработки проекта сначала вызывает пакет для получения проект решения активные параметры отладки. Параметры включают начальный каталог, переменные среды, в котором программа выполняется и DE для использования создание программы, если он указан. Эти параметры передаются в пакет отладки.

  2. Если DE указан, то DE вызывает операционная система, чтобы запустить программу. Запускать программу выполнения, загружается среду выполнения программы. Например, если программа записывается в MSIL, среда CLR будет вызываться для запуска программы.

    -или-

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

    Примечание

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

  3. В зависимости от того, запущены ли DE или программу или порт, DE среду выполнения, а создают описание программы или узел и уведомляющие порт, что программа выполняется.

    Примечание

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

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

Программно, когда пользователь сначала отожмет F5" Visual Studio's отладки вызовы пакета пакет проекта (который связан с типом, запущенным с помощью программы) DebugLaunch метод, который, в свою очередь, заполняет a VsDebugTargetInfo2 структура с проектом решения активные параметры отладки. Эта структура передается обратно к пакету отладки через вызов LaunchDebugTargets2 метод. Создает пакета отладки затем сеанс отладки (SDM) диспетчер, который начинается и отлаживаемой программы отладки обработчики связанный любому.

Один из аргументов, передаваемых SDM GUID DE, используемый для запуска программы.

Если идентификатор GUID не DE GUID_NULLSDM, co-создаст DE, а затем вызывает своим IDebugEngineLaunch2::LaunchSuspended метод, чтобы запустить программу. Например, если программа пишется в машинном коде, IDebugEngineLaunch2::LaunchSuspended обычно вызывает CreateProcess и ResumeThread (Функции Win32) выполнение программы.

Запускать программу выполнения, загружается среду выполнения программы. Или DE или среду выполнения затем создают IDebugProgramNode2 интерфейс для описания программу и передает этот интерфейс IDebugPortNotify2::AddProgramNode уведомить порт, что программа выполняется.

If GUID_NULL передает, а порт запускает программу. После выполнения программы, среду выполнения создает IDebugProgramNode2 интерфейс для описания программу и передает ему значение IDebugPortNotify2::AddProgramNode. Это оповещает порт, что программа выполняется. Затем SDM вложение обработчика отладки на выполнение программы.

Содержание

Связанные разделы

  • задачи отладки
    Содержит ссылки на различные задачи отладки, такие как запуск программы и оценки выражений.