Share via


Metodo Debugger.Stop

Consente di interrompere l'esecuzione del debug, terminare, rimuovere da tutti i processi connessi.

Spazio dei nomi:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

Sintassi

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

Parametri

  • WaitForDesignMode
    Tipo: System.Boolean
    Impostare su true se la sessione di debug interrotto solo quando raggiunge la modalità di progettazione.Impostare su false se si desidera interrompere il debug, ma è necessario eseguire altre attività nella macro anche prima che il debugger entri in modalità progettazione.

Note

Stop le interruzioni del debug e termina il processo connesso.vedere Procedura: interrompere il debug o interrompere l'esecuzione per ulteriori informazioni.

Esempi

Nell'esempio seguente viene illustrato come utilizzare Stop metodo.

Per testare questo metodo:

  1. Impostare un punto di interruzione nell'applicazione di destinazione.

  2. Eseguire l'applicazione di destinazione in modalità di debug.

  3. Quando l'applicazione si interrompe al punto di interruzione, eseguire il componente aggiuntivo.

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

[!NOTA]

Le macro vengono eseguite nel thread principale di Visual Studio.Il seguente codice non viene eseguito all'infinito e le macro cicli, perché l'ambiente di (IDE) sviluppo integrato non ha mai una probabilità attivare la modalità progettazione.In alternativa, è possibile riordinare i a un meccanismo separato di pool o del thread.

' 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

Sicurezza di .NET Framework

Vedere anche

Riferimenti

Debugger Interfaccia

Spazio dei nomi EnvDTE