Partager via


Debugger.Stop, méthode

Arrête le débogage, en terminant ou en détachant tous les processus attachés.

Espace de noms :  EnvDTE
Assembly :  EnvDTE (dans EnvDTE.dll)

Syntaxe

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

Paramètres

  • WaitForDesignMode
    Type : System.Boolean
    Affectez true si la session de débogage doit s'arrêter uniquement lorsqu'elle atteint le mode Design.Affectez false si vous souhaitez arrêter le débogage, mais que vous devez exécuter d'autres tâches dans la macro avant que le débogueur passe en mode Design.

Notes

Stop arrête le débogage et termine le processus attaché.Consultez Comment : arrêter le débogage ou l'exécution pour plus d'informations.

Exemples

L'exemple suivant montre comment utiliser la méthode Stop.

Pour tester cette méthode :

  1. Définissez un point d'arrêt dans l'application cible.

  2. Exécutez l'application cible en mode débogage.

  3. Lorsque l'application s'arrête au point d'arrêt, exécutez le complément.

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

[!REMARQUE]

Les macros sont exécutées sur le thread principal de Visual Studio.Le code suivant ne fonctionne pas et la macro fait une boucle indéfiniment, parce que l'environnement de développement intégré (IDE) ne peut jamais passer en mode Design.À la place, vous devez avoir recours à un thread séparé ou à un mécanisme de regroupement.

' 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

Sécurité .NET Framework

Voir aussi

Référence

Debugger Interface

EnvDTE, espace de noms