Присоединение и отключение программы
Присоединение отладчика требует отправки правильной последовательности методов и событий с соответствующими атрибутами.
Последовательность методов и событий
Диспетчер отладки сеанса вызывает метод OnAttach .
На основе модели
IDebugProgramNodeAttach2::OnAttach
процесса обработчика отладки (DE) метод возвращает один из следующих методов, который определяет, что происходит дальше.Если
S_FALSE
возвращается, подсистема отладки успешно подключена к программе. В противном случае метод Attach вызывается для завершения процесса присоединения.Если
S_OK
возвращается, de de должен быть загружен в том же процессе, что и SDM. SDM выполняет следующие задачи:Вызывает GetEngineInfo , чтобы получить сведения о подсистеме DE.
Совместно создает DE.
De отправляет идентификатор IDebugEngineCreateEvent2 в SDM с атрибутом
EVENT_SYNC
.DE отправляет идентификатор IDebugProgramCreateEvent2 в SDM с атрибутом
EVENT_SYNC
.DE отправляет идентификатор IDebugLoadCompleteEvent2 в SDM с атрибутом
EVENT_SYNC_STOP
.Отсоединение от программы — это простой двухэтапный процесс, как показано ниже.
SDM вызывает отсоединение.
DE отправляет IDebugProgramDegramDevent2.