Partager via


Debugger.CurrentThread, propriété

Définit ou obtient le thread actuellement en cours de débogage.

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

Syntaxe

'Déclaration
Property CurrentThread As Thread
    Get
    Set
Thread CurrentThread { get; set; }
property Thread^ CurrentThread {
    Thread^ get ();
    void set (Thread^ value);
}
abstract CurrentThread : Thread with get, set
function get CurrentThread () : Thread
function set CurrentThread (value : Thread)

Valeur de propriété

Type : EnvDTE.Thread
un objet Thread.

Notes

CurrentThread définit ou retourne l'objet Thread actuellement en cours de débogage.

Exemples

L'exemple suivant montre comment utiliser la propriété CurrentThread.

Pour tester cette propriété :

  1. Définissez un point d'arrêt dans l'application cible. Exécutez le complément.

    Le thread actuel est vide.

  2. Définissez un point d'arrêt dans l'application cible. Exécutez l'application cible en mode débogage. Lorsque l'application s'arrête au point d'arrêt, exécutez le complément.

    Le thread actuel n'est pas vide.

public static void CurrentThread(DTE dte)
{
    // Setup the debug Output window.
    Window w = (Window)dte.Windows.Item(EnvDTE.Constants.vsWindowKindOutput);
    w.Visible = true;
    OutputWindow ow = (OutputWindow)w.Object;
    OutputWindowPane owp = ow.OutputWindowPanes.Add("Current Thread Test");
    owp.Activate();

    owp.OutputString("Current Thread Info: ");
    EnvDTE.Thread thread = dte.Debugger.CurrentThread;

    if(thread == null)
        owp.OutputString("No program is being debugged");
    else
        foreach(EnvDTE.StackFrame sf in thread.StackFrames)
            owp.OutputString("\nStack Frame: Function " + sf.FunctionName + 
                             " returns type " + sf.ReturnType);
}
Shared Sub CurrentThread(ByRef dte As EnvDTE.DTE)
    Dim str As String
    Dim thread As EnvDTE.Thread = dte.Debugger.CurrentThread
    If thread Is Nothing Then
        MessageBox.Show("No program is being debugged.", _
                        "Debugger Test - Current Thread Info")
    Else
        For Each sf As EnvDTE.StackFrame In thread.StackFrames
            str += vbCrLf + "Stack Frame: Function " + _
                   sf.FunctionName.ToString() + " returns type " + _
                   sf.ReturnType
        Next
        MessageBox.Show(str, "Debugger Test - Current Thread Info")
    End If
End Sub

Sécurité .NET Framework

Voir aussi

Référence

Debugger Interface

EnvDTE, espace de noms