クライアント オブジェクトとエンジン
EngExtCpp 拡張機能は、クライアント オブジェクトを介してデバッガー エンジンと対話します。 クライアント オブジェクトへのポインターは、ExtExtension 基底クラスのメンバーを介して拡張機能に提供されます。 以下のメンバーによって、エンジン API インターフェイスの最初のバージョンへのアクセスが提供されます。
エンジン API インターフェイス | ExtExtension メンバー |
---|---|
m_Advanced |
|
m_Client |
|
m_Control |
|
m_Data |
|
m_Registers |
|
m_Symbols |
|
m_System |
以下のメンバーによって、エンジン API インターフェイスの新しいバージョンへのアクセスが提供されます。 これらのインターフェイスは、デバッガー エンジンのすべてのバージョンで使用できるわけではありません。 使用できない場合、使用を試みると例外がスローされます。
エンジン 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 関数または DebugConnect 関数を使用して、独自のクライアント オブジェクトを作成することもできます。
クライアント オブジェクトの概要については、「クライアント オブジェクト」を参照してください。