次の方法で共有


ICorDebugStepper

更新 : 2007 年 11 月

デバッガが実行するコード実行内のステップを表します。コマンドの発行から完了までの間は識別子として機能します。これを使用するとステップをキャンセルできます。

interface ICorDebugStepper : IUnknown {
        
    HRESULT Deactivate ();
        
    HRESULT IsActive (
        [out] BOOL      *pbActive
    );
        
    HRESULT SetInterceptMask (
        [in] CorDebugIntercept mask
    );
        
    HRESULT SetRangeIL (
        [in] BOOL       bIL
    );
                
    HRESULT SetUnmappedStopMask (
        [in] CorDebugUnmappedStop mask
    );
        
    HRESULT Step (
        [in] BOOL       bStepIn
    );
        
    HRESULT StepOut ();
        
    HRESULT StepRange (
        [in] BOOL       bStepIn,
        [in, size_is(cRangeCount)] COR_DEBUG_STEP_RANGE ranges[],
        [in] ULONG32    cRangeCount
    );

};

メソッド

メソッド

説明

ICorDebugStepper::Deactivate メソッド

この ICorDebugStepper は、受け取った最後のステップ コマンドをキャンセルします。

ICorDebugStepper::IsActive メソッド

この ICorDebugStepper が現在ステップを実行しているかどうかを示す値を取得します。

ICorDebugStepper::SetInterceptMask メソッド

ステップ インされるコードの型を指定する CorDebugIntercept 値を設定します。

ICorDebugStepper::SetRangeIL メソッド

ICorDebugStepper::StepRange の呼び出しで、引数値として、ステップ実行されるメソッドのネイティブ コードに相対的な値、または Microsoft Intermediate Language (MSIL) コードに相対的な値のどちらを渡すかを示す値を設定します。

ICorDebugStepper::SetUnmappedStopMask メソッド

実行を中断する未割り当てコードの種類を指定する CorDebugUnmappedStop 値を設定します。

ICorDebugStepper::Step メソッド

この ICorDebugStepper が、その格納スレッドをシングル ステップ実行するようにします。また、オプションで、スレッド内で呼び出された関数でもシングル ステップ実行を続けるようにします。

ICorDebugStepper::StepOut メソッド

この ICorDebugStepper が、その格納スレッド内でシングル ステップ実行し、現在のフレームから呼び出し元フレームに制御が返されたときに完了するようにします。

ICorDebugStepper::StepRange メソッド

この ICorDebugStepper が、その格納スレッド内でシングル ステップ実行し、指定した範囲の最後を超えたコードに達したときに戻るようにします。

解説

ICorDebugStepper インターフェイスは次の役割を果たします。

  • ステップ コマンドが発行されてから完了するまでの間、識別子として機能する。

  • 実行できるすべてのステップ実行をカプセル化するための中心的なインターフェイスを提供する。

  • 完了する前にステップ実行操作をキャンセルする方法を提供する。

1 つのスレッドに複数のステッパが存在する場合があります。たとえば、関数に対するステップ実行の途中でブレークポイントに到達し、ユーザーがその関数内部で新しいステップ実行操作を開始する場合があります。この操作を処理する方法はデバッガによって決まります。デバッガは、元のステップ実行操作をキャンセルするか、2 つの操作を入れ子にします。ICorDebugStepper インターフェイスは、この両方の選択をサポートします。

共通言語ランタイム (CLR: Common Language Runtime) がスレッド間でマーシャリングされた呼び出しを実行した場合、ステッパはスレッド間を移行します。

必要条件

プラットフォーム : 「.NET Framework システム要件」を参照

ヘッダー : CorDebug.idl

ライブラリ : CorGuids.lib

.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

参照

参照

ICorDebugStepper2

その他の技術情報

デバッグのインターフェイス