次の方法で共有


IDebugCanStopEvent2

このインターフェイスは、現在のコードの位置で停止するかどうかをセッション デバッグ マネージャー (SDM) に問い合せるために使用されます。

構文

IDebugCanStopEvent2 : IUknown

実装側の注意

デバッグ エンジン (DE) では、このインターフェイスを実装して、ソース コードのステップ実行をサポートします。 IDebugEvent2 インターフェイスは、このインターフェイスと同じオブジェクトに実装する必要があります (SDM では、QueryInterface メソッドを使用して IDebugEvent2 インターフェイスにアクセスします)。

このインターフェイスの実装では、SDM の CanStop の呼び出しがデバッグ エンジンに通知される必要があります。 たとえば、デバッグ エンジンのメッセージ処理スレッドにポストされるメッセージを使用してこれを行うことができます。また、このインターフェイスを実装するオブジェクトでは、デバッグ エンジンへの参照を保持し、IDebugCanStopEvent2::CanStop に渡されたフラグを使用してデバッグ エンジンにコールバックすることもできます。

呼び出し元に関する注意事項

DE では、実行を継続するように求められ、コードをステップ実行するたびに、このメソッドを送信できます。 このイベントは、SDM がデバッグ対象のプログラムにアタッチされたときに提供される IDebugEventCallback2 コールバック関数を使用して送信されます。

Vtable 順序のメソッド

次の表に、IDebugCanStopEvent2 のメソッドを示します。

メソッド 説明
GetReason このイベントの理由を取得します。
CanStop デバッグされているプログラムをこのイベントの位置で停止するか (停止する理由が記述されたイベントが送信されます)、または実行を継続するかを指定します。
GetDocumentContext このイベントの場所が記述されたドキュメント コンテキストを取得します。
GetCodeContext このイベントの場所を記述するコード コンテキストを取得します。

解説

ユーザーが関数にステップインしたが DE でデバッグ情報が見つからない場合、またはデバッグ情報は存在するがその位置のソース コードを表示できるかどうかが不明である場合、DE によってこのインターフェイスが送信されます。

要件

ヘッダー: msdbg.h

名前空間: Microsoft.VisualStudio.Debugger.Interop

アセンブリ: Microsoft.VisualStudio.Debugger.Interop.dll

関連項目