Debugger3.Stop-Methode (Boolean)
Hält den Debugvorgang an und beendet oder trennt alle angefügten Prozesse.
Namespace: EnvDTE90
Assembly: EnvDTE90 (in EnvDTE90.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 das Debuggen beendet werden soll.Sie müssen jedoch andere Aufgaben im Makro ausführen, bevor der Debugger den Entwurfsmodus aufruft.
Implementiert
Hinweise
Weitere Informationen finden Sie unter Gewusst wie: Beenden des Debuggens bzw. der Ausführung.
Beispiele
Im folgenden Beispiel wird die Verwendung der Stop-Methode gezeigt.
So testen Sie diese Methode
Legen Sie einen Haltepunkt in der Zielanwendung fest.
Führen Sie die Zielanwendung im Debugmodus aus.
Führen Sie das Add-In aus, wenn die Anwendung am Haltepunkt hält.
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
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, da die IDE keine Gelegenheit hat, in den Entwurfsmodus zu wechseln. Verwenden 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
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.