Compartir a través de


Debugger2.CurrentThread (Propiedad)

Obtiene o establece el subproceso que se está depurando.

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

Sintaxis

'Declaración
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)

Valor de propiedad

Tipo: EnvDTE.Thread
Un objeto Thread.

Implementaciones

Debugger.CurrentThread

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 el programa se detenga en el punto de interrupción, ejecute el complemento.

public static void CurrentThread(EnvDTE80.DTE2 dte)
{
    // Setup 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: ");
    EnvDTE80.Debugger2 debugger = (EnvDTE80.Debugger2)dte.Debugger;
    EnvDTE.Thread thread = 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);
}
Sub ShowCurrentProcess()
    ' This function displays the current debugger
    ' mode in the Output window.
    Dim ow As OutputWindow
    ow = DTE2.Windows.Item(Constants.vsWindowKindOutput).Object

    Dim proc As EnvDTE.Process2
    proc = DTE2.Debugger.CurrentProcess

    If (proc Is Nothing) Then
        ow.ActivePane.OutputString("No process is being debugged")
    Else
        ow.ActivePane.OutputString("" + Str(proc.ProcessID) + ": " + _
        poc.Name + vbCrLf)
    End If
End Sub

Seguridad de .NET Framework

Vea también

Referencia

Debugger2 Interfaz

CurrentThread (Sobrecarga)

EnvDTE80 (Espacio de nombres)