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 포함) |