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


Метод IDebugEventCallbacks::ChangeDebuggeeState (dbgeng.h)

Метод обратного вызова ChangeDebuggeeState вызывается подсистемой при внесении или обнаружении изменений в целевом объекте.

Синтаксис

HRESULT ChangeDebuggeeState(
  [in] ULONG   Flags,
  [in] ULONG64 Argument
);

Параметры

[in] Flags

Указывает тип изменений, внесенных в целевой объект. Флаги могут принимать одно из следующих значений:

Значение Описание
DEBUG_CDS_ALL Произошло общее изменение целевого объекта. Например, целевой объект выполняется или подсистема только что подключена к целевому объекту.
DEBUG_CDS_REGISTERS Изменились регистры процессора для целевого объекта.
DEBUG_CDS_DATA Пространство данных целевого объекта изменилось.
DEBUG_CDS_REFRESH Сообщите клиентам графического пользовательского интерфейса об обновлении окон отладчика.

[in] Argument

Предоставляет дополнительные сведения об изменении целевого объекта. Интерпретация значения Аргумента зависит от значения флагов:

DEBUG_CDS_ALL
Значение Аргумента равно нулю.
DEBUG_CDS_REGISTERS
Если один регистр изменился, значение Аргумента является индексом этого регистра. В противном случае значение Аргумента будет DEBUG_ANY_ID.
DEBUG_CDS_DATA
Значение Аргумента указывает, какое пространство данных было изменено. В следующей таблице приведены возможные значения Аргумента.
Значение Описание
DEBUG_DATA_SPACE_VIRTUAL Виртуальная память целевого объекта изменилась.
DEBUG_DATA_SPACE_PHYSICAL Изменилась физическая память целевого объекта.
DEBUG_DATA_SPACE_CONTROL Память элемента управления целевого объекта изменилась.
DEBUG_DATA_SPACE_IO Порты ввода-вывода целевого объекта получили входные или выходные данные.
DEBUG_DATA_SPACE_MSR Изменены Model-Specific регистры целевого объекта (MSR).
DEBUG_DATA_SPACE_BUS_DATA Память шины целевого объекта изменилась.
 
DEBUG_CDS_REFRESH
В следующей таблице приведены возможные значения Аргумента.
Значение
DEBUG_CDS_REFRESH_EVALUATE
DEBUG_CDS_REFRESH_EXECUTE
DEBUG_CDS_REFRESH_EXECUTECOMMANDFILE
DEBUG_CDS_REFRESH_ADDBREAKPOINT
DEBUG_CDS_REFRESH_REMOVEBREAKPOINT
DEBUG_CDS_REFRESH_WRITEVIRTUAL
DEBUG_CDS_REFRESH_WRITEVIRTUALUNCACHED
DEBUG_CDS_REFRESH_WRITEPHYSICAL
DEBUG_CDS_REFRESH_WRITEPHYSICAL2
DEBUG_CDS_REFRESH_SETVALUE
DEBUG_CDS_REFRESH_SETVALUE2
DEBUG_CDS_REFRESH_SETSCOPE
DEBUG_CDS_REFRESH_SETSCOPEFRAMEBYINDEX
DEBUG_CDS_REFRESH_SETSCOPEFROMJITDEBUGINFO
DEBUG_CDS_REFRESH_SETSCOPEFROMSTOREDEVENT
DEBUG_CDS_REFRESH_INLINESTEP
DEBUG_CDS_REFRESH_INLINESTEP_PSEUDO
 

Возвращаемое значение

Возвращаемое значение игнорируется подсистемой, если оно не указывает на ошибку удаленного вызова процедуры; в этом случае клиент, с помощью которого зарегистрирован этот объект IDebugEventCallbacks , отключен.

Комментарии

Обработчик вызывает ChangeDebuggeeState , только если флаг DEBUG_EVENT_CHANGE_DEBUGGEE_STATE установлен в маске, возвращенной IDebugEventCallbacks::GetInterestMask.

Дополнительные сведения об обработке событий см. в разделе Мониторинг событий. Сведения об управлении памятью целевого объекта, включая регистры и пространства данных, см. в разделе Доступ к памяти. Сведения о виртуальной и физической памяти целевого объекта см. в разделе Виртуальная и физическая память. Сведения о памяти управления целевого объекта, портах ввода-вывода, MSR и памяти шины см. в разделе Другие пространства данных.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть dbgeng.h (включая Dbgeng.h)