Debugger3.Stop(Boolean) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Beendet den Debugmodus und beendet bzw. trennt alle angehängten Prozesse.
void Stop(bool WaitForDesignMode = true);
[System.Runtime.InteropServices.DispId(8)]
public void Stop (bool WaitForDesignMode = true);
[<System.Runtime.InteropServices.DispId(8)>]
abstract member Stop : bool -> unit
Public Sub Stop (Optional WaitForDesignMode As Boolean = true)
Parameter
- WaitForDesignMode
- Boolean
Setzen Sie diesen Wert auf true, wenn die Debuggingsitzung nur beim Erreichen des Designmodus beendet werden soll. Setzen Sie diesen Wert auf false, wenn Sie die Debuggingsitzung beenden möchten. Sie müssen jedoch andere Aufgaben im Makro ausführen, bevor der Debugger in den Designmodus wechselt.
Implementiert
- Attribute
Beispiele
Im folgenden Beispiel wird die Verwendung der Stop-Methode gezeigt.
public static void Stop(EnvDTE80.DTE2 dte)
{
EnvDTE90.Debugger3 debugger = (EnvDTE90.Debugger3)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
Hinweis
Makros werden im Haupt Thread von ausgeführt Visual Studio . Der folgende Code funktioniert nicht, und das Makro wird unbegrenzt durchlaufen, da die IDE nie die Möglichkeit hat, in den Entwurfs Modus zu wechseln. Verwenden Sie stattdessen einen separaten Thread-oder Pooling-Mechanismus.
' 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
Hinweise
Weitere Informationen finden Sie unter Gewusst wie: Beendigung der Ausführung.