Metoda Debugger.Stop —
Zatrzymuje debugowanie, kończące lub odłączanie od wszystkich procesów dołączonych.
Przestrzeń nazw: EnvDTE
Zestaw: EnvDTE (w EnvDTE.dll)
Składnia
'Deklaracja
Sub Stop ( _
WaitForDesignMode As Boolean _
)
void Stop(
bool WaitForDesignMode
)
void Stop(
[InAttribute] bool WaitForDesignMode
)
abstract Stop :
WaitForDesignMode:bool -> unit
function Stop(
WaitForDesignMode : boolean
)
Parametry
- WaitForDesignMode
Typ: System.Boolean
Ustaw true Jeśli sesji debugowania, należy zatrzymać tylko po osiągnięciu tryb projektowania.Ustaw false jeśli zamiar zatrzymać debugowanie, ale trzeba wykonać inne zadania w makrze, nawet przed debuger przechodzi do trybu projektowania.
Uwagi
StopZatrzymuje debugowania i kończy proces załączony.Zobacz Jak: Stop Debugging lub zatrzymać wykonywanie Aby uzyskać więcej informacji.
Przykłady
Poniższy przykład demonstruje, jak używać Stop metody.
Aby przetestować tę metodę:
Ustawianie punktu przerwania w aplikacji docelowej.
Uruchom aplikację docelową w trybie debugowania.
Gdy aplikacja przestanie działać na punkt przerwania, należy uruchomić dodatek.
public static void Stop(DTE dte)
{
EnvDTE.Debugger debugger = (EnvDTE.Debugger)dte.Debugger;
debugger.Stop(true);
}
Shared Sub Stop(ByRef dte As EnvDTE.DTE)
dte.Debugger. Stop(True)
End Sub
' WaitForDesignMode is true
Sub StopDebuggingAndNotifySync
DTE.Debugger.Stop(True)
MsgBox("Debugger has been stopped, for sure.")
End Sub
' WaitForDesignMode is false
Sub StopDebuggingAndNotifyAsync
DTE.Debugger.Stop(False)
' Depending on how long it takes to stop debugging,
' the environment may or may not yet be in Design mode.
If DTE.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
MsgBox("Debugger still stopping")
Else
MsgBox("Debugger has been stopped")
End If
End Sub
[!UWAGA]
Makra są uruchamiane w głównym wątku programu Visual Studio.Poniższy kod nie działa, a makra w pętli przez czas nieokreślony, ponieważ zintegrowane środowisko programistyczne (IDE) nigdy nie ma szansę, aby przejść do trybu projektowania.Zamiast tego należy uciekania się do oddzielnego wątku lub mechanizm buforowania.
' Bad Code Example.
Sub StopDebuggingAndWaitForDesign
DTE.Debugger.Stop(False)
While DTE.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
System.Threading.Thread.Sleep(50)
End While
MsgBox("Debugger has been stopped")
End Sub
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Przy użyciu bibliotek z częściowo zaufanego kodu..