このインターフェイスは、プロセスで実行されているプログラムを表します。
構文
IDebugProgram2 : IUnknown
実装側の注意
デバッグ エンジン (DE) とカスタム ポート サプライヤーでは、このインターフェイスを実装して、プロセス内のプログラムを表します。 また、セッション デバッグ マネージャー (SDM) では、このインターフェイスを実装して、Attach する情報を提供します。
呼び出し元に関する注意事項
IDebugProgramCreateEvent2 イベントでは、新しいプログラムについてこのインターフェイスが返されます。 このインターフェイスは、複数のインターフェイスの多くのメソッドのパラメーターとしても使用されます。
Vtable 順序のメソッド
次の表に、IDebugProgram2
のメソッドを示します。
メソッド | 説明 |
---|---|
EnumThreads | このプログラムで実行されているスレッドを列挙します。 |
GetName | プログラムの名前を取得します。 |
GetProcess | このプログラムが実行されているプロセスを取得します。 |
Terminate | このプログラムを終了します。 |
[アタッチ] | このプログラムにアタッチします。 |
CanDetach | デバッグ エンジン (DE) をプログラムからデタッチできるかどうかを判別します。 |
[デタッチ] | このプログラムからデバッガーをデタッチします。 |
GetProgramId | このプログラムのグローバル一意識別子を取得します。 |
GetDebugProperty | プログラムのプロパティを取得します。 |
実行 | 停止された状態からこのプログラムの実行を続行します。 以前の実行状態はすべてクリアされます。 |
Continue | 停止された状態からこのプログラムの実行を続行します。 以前の実行状態はすべて保持されます。 |
Step | ステップを実行します。 |
CauseBreak | いずれかのスレッドで次にコードが実行されたときにこのプログラムの実行を停止するように要求します。 |
GetEngineInfo | このプログラムを実行しているデバッグ エンジン (DE) の名前と ID を取得します。 |
EnumCodeContexts | ソース ファイル内の指定された位置のコード コンテキストを列挙します。 |
GetMemoryBytes | このプログラムのメモリのバイトを取得します。 |
GetDisassemblyStream | このプログラムまたはこのプログラムの一部の逆アセンブリ ストリームを取得します。 |
EnumModules | このプログラムによって読み込まれ、実行されているモジュールを列挙します。 |
GetENCUpdate | このプログラムのエディット コンティニュ (ENC) の更新を取得します。 カスタム デバッグ エンジンでは、このメソッドは実装されません (常に E_NOTIMPL を返す必要があります)。 |
EnumCodePaths | このプログラムのコード パスを列挙します。 |
WriteDump | ダンプをファイルに書き込みます。 |
要件
ヘッダー: msdbg.h
名前空間: Microsoft.VisualStudio.Debugger.Interop
アセンブリ: Microsoft.VisualStudio.Debugger.Interop.dll
解説
プログラムは特定の実行時アーキテクチャで実行されるスレッド コンテナーであり、プロセスは 1 つ以上のプログラムで構成されます。