Freigeben über


ICorDebugStepper

Aktualisiert: November 2007

Stellt einen Schritt in der Codeausführung dar, der von einem Debugger ausgeführt wird, dient zwischen der Veröffentlichung und dem Abschluss eines Befehls als Bezeichner und ermöglicht das Abbrechen eines Schritts.

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
    );

};

Methoden

Methode

Beschreibung

ICorDebugStepper::Deactivate-Methode

Veranlasst ICorDebugStepper, den zuletzt empfangenen Schrittbefehl abzubrechen.

ICorDebugStepper::IsActive-Methode

Ruft einen Wert ab, der anzeigt, ob ICorDebugStepper gerade einen Schritt ausführt.

ICorDebugStepper::SetInterceptMask-Methode

Legt einen CorDebugIntercept-Wert zur Angabe der Codetypen fest, für die Einzelschritte ausgeführt werden.

ICorDebugStepper::SetRangeIL-Methode

Legt einen Wert fest, der angibt, ob Aufrufe von ICorDebugStepper::StepRange Argumentwerte übergeben, die relativ zum systemeigenen Code oder relativ zum MSIL-Code (Microsoft Intermediate Language) der Methode sind, die schrittweise durchlaufen wird.

ICorDebugStepper::SetUnmappedStopMask-Methode

Legt einen CorDebugUnmappedStop-Wert fest, der den Typ des nicht zugeordneten Codes angibt, in dem die Ausführung angehalten wird.

ICorDebugStepper::Step-Methode

Bewirkt, dass dieser ICorDebugStepper den enthaltenden Thread einzelschrittweise durchläuft und optional die Einzelschrittausführung durch Funktionen fortsetzt, die innerhalb des Threads aufgerufen werden.

ICorDebugStepper::StepOut-Methode

Bewirkt, dass dieser ICorDebugStepper den enthaltenden Thread einzelschrittweise durchläuft und beendet wird, wenn der aktuelle Rahmen die Steuerung an den aufrufenden Rahmen zurückgibt.

ICorDebugStepper::StepRange-Methode

Veranlasst ICorDebugStepper, den enthaltenen Thread in Einzelschritten auszuführen und zurückzugeben, wenn er Code nach dem letzten der angegebenen Bereiche erreicht hat.

Hinweise

Die ICorDebugStepper-Schnittstelle dient den folgenden Zwecken:

  • Sie fungiert als Bezeichner zwischen einem ausgegebenen Schrittbefehl und dem Abschluss dieses Befehls.

  • Sie stellt eine zentrale Schnittstelle bereit, in der alle ausführbaren Schrittvorgänge gekapselt werden.

  • Sie bietet eine Möglichkeit, einen Schrittvorgang vorzeitig abzubrechen.

Ein Thread kann mehrere Stepper enthalten. Beim Überspringen einer Funktion kann z. B. ein Haltepunkt erreicht werden, und der Benutzer kann innerhalb dieser Funktion einen neuen Schrittvorgang starten. Es hängt vom Debugger ab, wie mit dieser Situation umgegangen wird. Der Debugger kann den ursprünglichen Schrittvorgang abbrechen oder die zwei Vorgänge schachteln. Die ICorDebugStepper-Schnittstelle lässt beide Möglichkeiten zu.

Ein Stepper kann zwischen Threads migrieren, wenn ein threadübergreifend gemarshallter Aufruf von der Common Language Runtime (CLR) erfolgt.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: CorDebug.idl

Bibliothek: CorGuids.lib

.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Siehe auch

Referenz

ICorDebugStepper2

Weitere Ressourcen

Debugschnittstellen