다음을 통해 공유


클라이언트 개체 및 엔진

EngExtCpp 확장은 클라이언트 개체를 통해 디버거 엔진 과 상호 작용합니다. 클라이언트 개체에 대한 인터페이스 포인터는 ExtExtension 기본 클래스의 멤버를 통해 확장에서 사용할 수 있습니다. 다음 멤버는 첫 번째 버전의 엔진 API 인터페이스에 대한 액세스를 제공합니다.

엔진 API 인터페이스 ExtExtension 멤버

IDebugAdvanced

m_Advanced

IDebugClient

m_Client

IDebugControl

m_Control

IDebugDataSpaces

m_Data

IDebugRegisters

m_Registers

IDebugSymbols

m_Symbols

IDebugSystemObjects

m_System

다음 멤버는 이후 버전의 엔진 API 인터페이스에 대한 액세스를 제공합니다. 이러한 인터페이스는 디버거 엔진의 모든 버전에서 사용할 수 없습니다. 사용할 수 없는 경우 이를 사용하려고 하면 예외가 throw됩니다.

엔진 API 인터페이스 ExtExtension 멤버

IDebugAdvanced2

m_Advanced2

IDebugAdvanced3

m_Advanced3

IDebugClient2

m_Client2

IDebugClient3

m_Client3

IDebugClient4

m_Client4

IDebugClient5

m_Client5

IDebugControl2

m_Control2

IDebugControl3

m_Control3

IDebugControl4

m_Control4

IDebugData2

m_Data2

IDebugData3

m_Data3

IDebugData4

m_Data4

IDebugRegisters2

m_Registers2

IDebugSymbols2

m_Symbols2

IDebugSymbols3

m_Symbols3

IDebugSystemObjects2

m_System2

IDebugSystemObjects3

m_System3

IDebugSystemObjects4

m_System4

이러한 테이블의 멤버는 확장 라이브러리를 사용하여 확장 명령을 실행하거나 출력을 위한 구조체 형식을 지정할 때마다 초기화됩니다. 작업이 완료되면 이러한 멤버는 초기화되지 않습니다. 따라서 확장은 이러한 멤버의 값을 캐시해서는 안 되며 ExtExtension 멤버를 직접 사용해야 합니다.

확장 라이브러리는 IDebugClient::CreateClient 메서드 또는 DebugCreate 또는 Debug커넥트 함수를 사용하여 자체 클라이언트 개체를 만들 수도 있습니다.

클라이언트 개체에 대한 개요는 클라이언트 개체를 참조 하세요.