Запуск программы
Пользователи, которые хотят отладки программы могут нажать клавишу F5 для запуска отладчика из интегрированной среды разработки. Это начинает последовательность событий, в конечном счете приводятся в интегрированной среды разработки при подключении к обработчику отладки (DE), который, в свою очередь, подключен или вложенно, в программе следующим образом:
Интегрированной среды разработки проекта сначала вызывает пакет для получения проект решения активные параметры отладки. Параметры включают начальный каталог, переменные среды, в котором программа выполняется и DE для использования создание программы, если он указан. Эти параметры передаются в пакет отладки.
Если DE указан, то DE вызывает операционная система, чтобы запустить программу. Запускать программу выполнения, загружается среду выполнения программы. Например, если программа записывается в MSIL, среда CLR будет вызываться для запуска программы.
-или-
Если DE не указан, то порт вызывает операционная система, чтобы запустить программу, которая вызывает среду времени выполнения программы.
Примечание
Если DE используется, чтобы запустить программу, то, вероятно, что один и тот же DE будет вложен в программе.
В зависимости от того, запущены ли 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 вложение обработчика отладки на выполнение программы.
Содержание
уведомить порт
Объясняет, что происходит после того, как программа запускается уведомление и порт.Присоединение после запуска
Документы, если сеанс отладки можно вложить DE в программе.
Связанные разделы
- задачи отладки
Содержит ссылки на различные задачи отладки, такие как запуск программы и оценки выражений.