Partager via


Debugger2.Stop, méthode

Arrête le débogage et termine ou détache de tous les processus attachés.

Espace de noms :  EnvDTE80
Assembly :  EnvDTE80 (dans EnvDTE80.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 : Boolean

    Affectez la valeur true lorsque la session de débogage doit s'arrêter uniquement lorsqu'il atteint le mode Design. Définissez la valeur false, si vous prévoyez d'arrêter le débogage, mais devez effectuer d'autres tâches dans la macro avant même que le débogueur ne passe en mode Design.

Notes

Pour plus d'informations, consultez <PAVEOVER> Comment : arrêter le débogage ou l'exécution.

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(EnvDTE80.DTE2 dte)
{
    EnvDTE80.Debugger2 debugger = (EnvDTE80.Debugger2)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

Notes

Les macros sont exécutées sur le thread principal de Visual Studio.Le code suivant ne fonctionne pas et la macro boucle indéfiniment car l'IDE n'a jamais la possibilité d'entrer en mode Design.Utilisez plutôt un thread ou mécanisme de groupement distinct.

' 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

Sécurité .NET Framework

Voir aussi

Référence

Debugger2 Interface

EnvDTE80, espace de noms