Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пользователи, которые хотят отладить программу, могут нажать клавишу F5 , чтобы запустить отладчик из интегрированной среды разработки. Это запускает ряд событий, которые в конечном итоге приводят к подключению интегрированной среды разработки (IDE) к подсистеме отладки (DE), которая, в свою очере́дь, подключена или присоединена к программе следующим образом:
Интегрированная среда разработки сначала вызывает пакет проекта для получения параметров активной отладки проекта решения. Эти параметры включают начальный каталог, переменные среды, порт, который будет использоваться для запуска программы, и DE, используемую для создания программы, если это было указано. Эти параметры передаются в пакет отладки.
Если указан de, de вызывает операционную систему для запуска программы. В результате запуска программы среда выполнения программы загружается. Например, если программа написана в MSIL, общая среда выполнения будет вызвана для запуска программы.
–или–
Если de не указан, порт вызывает операционную систему для запуска программы, что приводит к загрузке среды выполнения программы.
Замечание
Если DE используется для запуска программы, скорее всего, тот же DE будет присоединен к программе.
В зависимости от того, запущена ли программа средой DE или портом, среда DE или среда выполнения затем создает описание программы или узел и уведомляет порт о том, что программа выполняется.
Замечание
Рекомендуется, чтобы среда выполнения создала узел программы, так как узел программы является упрощенным представлением программы, которую можно отлаживать. Для создания и регистрации узла программы нет необходимости загружать всю рабочую среду. Если интегрированная среда разработки предназначена для работы в процессе IDE, но на самом деле IDE не запущена, необходимо наличие компонента, который может добавить узел программы в порт.
Созданная программа, а также любые другие программы, связанные или не связанные, запущенные или присоединенные из той же интегрированной среды разработки, создают сеанс отладки.
Программно, когда пользователь сначала нажимает клавишу F5, пакет отладки Visual Studio вызывает пакет проекта (связанный с типом запускаемой программы) через DebugLaunch метод, который, в свою очередь, заполняет VsDebugTargetInfo2 структуру активными параметрами отладки проекта решения. Эта структура передается обратно в пакет отладки через вызов LaunchDebugTargets2 метода. Затем пакет отладки создает экземпляр диспетчера отладки сеанса (SDM), который запускает программу отладки и все связанные подсистемы отладки.
Одним из аргументов, передаваемых в SDM, является GUID DE, который будет использоваться для запуска программы.
Если идентификатор GUID DE не равен
GUID_NULL, SDM совместно создает DE, а затем вызывает его метод LaunchSuspended для запуска программы. Например, если программа написана в машинном коде, вероятно,IDebugEngineLaunch2::LaunchSuspendedвызоветCreateProcessиResumeThread(Функции Win32) для запуска программы.В результате запуска программы загружается среда выполнения программы. Затем среда DE или среда выполнения создает интерфейс IDebugProgramNode2 , чтобы описать программу и передает этот интерфейс в AddProgramNode , чтобы уведомить порт о запуске программы.
Если
GUID_NULLпередается, порт запускает программу. После запуска программы исполняющая среда создает интерфейсIDebugProgramNode2для описания программы и передает его вIDebugPortNotify2::AddProgramNode. Это уведомляет порт о том, что программа запущена. Затем SDM подключает модуль отладки к работающей программе.
В этом разделе
Уведомление порта объясняет, что происходит после запуска программы и как уведомляется порт.
Присоединение документов после запуска, когда сеанс отладки готов к подключению DE к программе.
Связанный контент
- Задачи отладки содержат ссылки на различные задачи отладки, такие как запуск программы и оценка выражений.