Debugger2.Stop-Methode (Boolean)

Hält den Debugvorgang an und beendet oder trennt alle angefügten Prozesse.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

'Declaration
Sub Stop ( _
    WaitForDesignMode As Boolean _
)
void Stop(
    bool WaitForDesignMode
)
void Stop(
    [InAttribute] bool WaitForDesignMode
)
abstract Stop : 
        WaitForDesignMode:bool -> unit 
function Stop(
    WaitForDesignMode : boolean
)

Parameter

  • WaitForDesignMode
    Typ: System.Boolean
    Auf true festlegen, wenn die Debugsitzung nur bei Erreichen des Entwurfsmodus beendet werden soll.Auf false festlegen, wenn Sie den Debugvorgang beenden möchten, aber andere Aufgaben im Makro ausführen müssen, bevor der Debugger in den Entwurfsmodus wechselt.

Implementiert

Debugger.Stop(Boolean)

Hinweise

Weitere Informationen finden Sie unter Gewusst wie: Beenden des Debuggens bzw. der Ausführung.

Beispiele

Das folgende Beispiel veranschaulicht, wie die Stop-Methode verwendet wird.

So testen Sie diese Methode

  1. Legen Sie einen Haltepunkt in der Zielanwendung fest.

  2. Führen Sie die Zielanwendung im Debugmodus aus.

  3. Führen Sie das Add-In aus, wenn die Anwendung am Haltepunkt hält.

public static void Stop(EnvDTE80.DTE2 dte)
{
    EnvDTE80.Debugger2 debugger = (EnvDTE80.Debugger2)dte.Debugger;
    debugger.Stop(false);
}
' WaitForDesignMode is true.
Sub StopDebuggingAndNotifySync
    DTE2.Debugger.Stop(True)
    MsgBox("Debugger has been stopped, for sure.")
End Sub

' WaitForDesignMode is false.
Sub StopDebuggingAndNotifyAsync
    DTE2.Debugger.Stop(False)
    ' Depending on how long it takes to stop debugging, 
    ' you may or may not yet be in Design mode.
    If DTE2.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
        MsgBox("Debugger still stopping")
    Else
        MsgBox("Debugger has been stopped")
    End If
End Sub

Tipp

Makros werden auf dem Hauptthread von Visual Studio ausgeführt. Der folgende Code kann nicht ordnungsgemäß ausgeführt werden und das Makro läuft in einer Endlosschleife, weil die IDE keine Gelegenheit hat, in den Entwurfsmodus zu wechseln. Wählen Sie stattdessen einen separaten Thread oder Poolingmechanismus.

' Bad Code Example.
Sub StopDebuggingAndWaitForDesign
    DTE2.Debugger.Stop(False)

    While DTE2.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
        System.Threading.Thread.Sleep(50)
    End While

    MsgBox("Debugger has been stopped")
End Sub

.NET Framework-Sicherheit

Siehe auch

Referenz

Debugger2 Schnittstelle

Stop-Überladung

EnvDTE80-Namespace