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: 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 <PAVEOVER> Porady: przerywanie debugowania lub wykonywania Aby uzyskać więcej informacji.

Przykłady

Poniższy przykład demonstruje, jak używać Stop metody.

Aby przetestować tę metodę:

  1. Ustawianie punktu przerwania w aplikacji docelowej.

  2. Uruchom aplikację docelową w trybie debugowania.

  3. 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

Zobacz też

Informacje

Debugger Interfejs

Przestrzeń nazw EnvDTE