このインターフェイスは、現在のコードの位置で停止するかどうかをセッション デバッグ マネージャー (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