デバッガーをアタッチするには、適切な属性を使用してメソッドとイベントの正しいシーケンスを送信する必要があります。
メソッドとイベントのシーケンス
セッション デバッグ マネージャー (SDM) で、OnAttach メソッドを呼び出します。
デバッグ エンジン (DE) のプロセス モデルに基づいて、
IDebugProgramNodeAttach2::OnAttach
メソッドから次のいずれかのメソッドが返され、次に実行する処理が決まります。S_FALSE
が返された場合、デバッグ エンジンはプログラムに正常にアタッチされています。 それ以外の場合は、アタッチ プロセスを完了させるために Attach メソッドが呼び出されます。S_OK
が返された場合、DE は SDM と同じプロセスに読み込まれます。 SDM で次のタスクを実行します。GetEngineInfo を呼び出して、DE のエンジン情報を取得します。
DE を共同作成します。
Attach を呼び出します。
DE が、
EVENT_SYNC
属性を使用して SDM に IDebugEngineCreateEvent2 を送信します。DE が、
EVENT_SYNC
属性を使用して SDM に IDebugProgramCreateEvent2 を送信します。DE が、
EVENT_SYNC_STOP
属性を使用して SDM に IDebugLoadCompleteEvent2 を送信します。プログラムからのデタッチは、次のように簡単な 2 段階のプロセスです。
SDM で、Detach を呼び出します。
DE で、IDebugProgramDestroyEvent2 を送信します。