다음을 통해 공유


IDebugEventCallbacksWide::ChangeDebuggeeState 메서드(dbgeng.h)

ChangeDebuggeeState 콜백 메서드는 대상에 대한 변경 내용을 만들거나 검색할 때 엔진에서 호출됩니다.

구문

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

매개 변수

[in] Flags

대상에 대한 변경의 유형을 지정합니다. 플래그 는 다음 값 중 하나를 취할 수 있습니다.

Description
DEBUG_CDS_ALL 대상의 일반적인 변경이 발생했습니다. 예를 들어 대상이 실행 중이거나 엔진이 대상에 연결되었습니다.
DEBUG_CDS_REGISTERS 대상에 대한 프로세서의 레지스터가 변경되었습니다.
DEBUG_CDS_DATA 대상의 데이터 공간이 변경되었습니다.

[in] Argument

대상의 변경 내용에 대한 추가 정보를 제공합니다. Argument 값의 해석은 Flags 값에 따라 달라집니다.

DEBUG_CDS_ALL
Argument 값은 0입니다.
DEBUG_CDS_REGISTERS
단일 레지스터가 변경된 경우 Argument 값은 해당 레지스터의 인덱스입니다. 그렇지 않으면 Argument 값이 DEBUG_ANY_ID.
DEBUG_CDS_DATA
Argument 값은 변경된 데이터 공간을 지정합니다. 다음 표에는 Argument의 가능한 값이 포함되어 있습니다.
Description
DEBUG_DATA_SPACE_VIRTUAL 대상의 가상 메모리가 변경되었습니다.
DEBUG_DATA_SPACE_PHYSICAL 대상의 실제 메모리가 변경되었습니다.
DEBUG_DATA_SPACE_CONTROL 대상의 컨트롤 메모리가 변경되었습니다.
DEBUG_DATA_SPACE_IO 대상의 I/O 포트에 입력 또는 출력이 수신되었습니다.
DEBUG_DATA_SPACE_MSR 대상의 Model-Specific 레지스터(MSR)가 변경되었습니다.
DEBUG_DATA_SPACE_BUS_DATA 대상의 버스 메모리가 변경되었습니다.
 

반환 값

반환 값은 원격 프로시저 호출 오류를 나타내지 않는 한 엔진에서 무시됩니다. 이 경우 이 IDebugEventCallbacksWide 개체가 등록된 클라이언트는 사용하지 않도록 설정됩니다.

설명

엔진은 IDebugEventCallbacksWide::GetInterestMask에서 반환된 마스크에 DEBUG_EVENT_CHANGE_DEBUGGEE_STATE 플래그가 설정된 경우에만 ChangeDebuggeeState를 호출합니다.

이벤트 처리에 대한 자세한 내용은 이벤트 모니터링을 참조하세요. 레지스터 및 데이터 공간을 포함하여 대상의 메모리를 관리하는 방법에 대한 자세한 내용은 메모리 액세스를 참조하세요. 대상의 가상 및 물리적 메모리에 대한 자세한 내용은 가상 및 물리적 메모리를 참조하세요. 대상의 제어 메모리, I/O 포트, MSR 및 버스 메모리에 대한 자세한 내용은 기타 데이터 공간을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 dbgeng.h(Dbgeng.h 포함)