Compartir a través de


Debugger.CurrentThread (Propiedad)

Establece u obtiene el subproceso actual que se está depurando.

Espacio de nombres:  EnvDTE
Ensamblado:  EnvDTE (en EnvDTE.dll)

Sintaxis

'Declaración
Property CurrentThread As Thread
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)

Valor de propiedad

Tipo: EnvDTE.Thread
Un objeto Thread.

Comentarios

CurrentThread establece o devuelve el objeto Thread que se está depurando actualmente.

Ejemplos

En el siguiente ejemplo se muestra cómo utilizar la propiedad CurrentThread.

Para probar esta propiedad:

  1. Establezca un punto de interrupción en la aplicación de destino. Ejecute el complemento.

    El subproceso actual está vacío.

  2. Establezca un punto de interrupción en la aplicación de destino. Ejecute la aplicación de destino en el modo de depuración. Cuando la aplicación se detenga en el punto de interrupción, ejecute el complemento.

    El subproceso actual no está vacío.

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

Seguridad de .NET Framework

Vea también

Referencia

Debugger Interfaz

EnvDTE (Espacio de nombres)