必要なイベントを送信する
必要なイベントを送信するには、次の手順に従います。
必要なイベントを送信するプロセス
デバッグ エンジン (DE) を作成し、プログラムにアタッチするときは、次のイベントが、この順序で必要です。
1 つのプロセスで 1 つまたは複数のプログラムをデバッグするために DE を初期化するときは、IDebugEngineCreateEvent2 イベント オブジェクトをセッション デバッグ マネージャー (SDM) に送信します。
デバッグ対象のプログラムにアタッチするときに、IDebugProgramCreateEvent2 イベント オブジェクトを SDM に送信します。 このイベントは、エンジンの設計によっては停止イベントである可能性があります。
プロセスの開始時にプログラムにアタッチされる場合は、 IDebugThreadCreateEvent2 イベント オブジェクトを SDM に送信して、新しいスレッドを IDE に通知します。 このイベントは、エンジンの設計によっては停止イベントである可能性があります。
デバッグしているプログラムの読み込みが終了するか、プログラムへのアタッチが完了したら、IDebugLoadCompleteEvent2 イベント オブジェクトを SDM に送信します。 このイベントは、停止イベントである必要があります。
デバッグ対象のアプリケーションが起動された場合は、実行時アーキテクチャのコードの最初の命令が実行される直前に、IDebugEntryPointEvent2 イベント オブジェクトを SDM に送信します。 このイベントは、常に停止イベントです。 デバッグ セッションが開始されると、IDE はこのイベントで停止します。
Note
多くの言語では、コードの先頭でグローバル初期化子またはプリコンパイル済み外部関数 (CRT ライブラリまたは _Main の) が使用されます。 デバッグ中のプログラムの言語で、これらの種類の要素のいずれかが初期エントリ ポイントの前に含まれている場合は、このコードが実行され、 main や WinMain
などのユーザー エントリポイントに到達すると、エントリ ポイント イベントが送信されます。