Partager via


Debugger3.Stop, méthode

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

Espace de noms :  EnvDTE90
Assembly :  EnvDTE90 (dans EnvDTE90.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. Affectez la valeur false lorsque vous projetez d'arrêter le débogage. Vous devez toutefois effectuer d'autres tâches dans la macro avant 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 illustre l'utilisation de 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)
{
    EnvDTE90.Debugger3 debugger = (EnvDTE90.Debugger3)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 est indéfiniment exécutée en boucle, car l'IDE n'a jamais la possibilité de passer en mode Design.Utilisez plutôt un mécanisme de groupement ou un thread séparé.

' 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

Debugger3 Interface

EnvDTE90, espace de noms