StackFrame.Parent (Propiedad)
Obtiene el objeto primario inmediato de un objeto StackFrame.
Espacio de nombres: EnvDTE
Ensamblado: EnvDTE (en EnvDTE.dll)
Sintaxis
'Declaración
ReadOnly Property Parent As Thread
Thread Parent { get; }
property Thread^ Parent {
Thread^ get ();
}
abstract Parent : Thread with get
function get Parent () : Thread
Valor de propiedad
Tipo: EnvDTE.Thread
Un objeto Thread.
Comentarios
La propiedad Parent devuelve el objeto primario inmediato del objeto StackFrame. Para obtener la colección contenedora, utilice la propiedad Collection.
Ejemplos
En el siguiente ejemplo se muestra cómo utilizar la propiedad Parent.
Para probar esta propiedad
En la aplicación de destino, establezca un punto de interrupción dentro del método que no sea el método Main().
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.
public static void TestStackFrames(DTE 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("Stack Frames Test");
owp.Activate();
EnvDTE.StackFrames stackFrames = dte.Debugger.CurrentThread.StackFrames;
owp.OutputString("\nNumber of items in the Current Stack collection: " +
stackFrames.Item(1).Collection.Count + "\n");
foreach(EnvDTE.StackFrame sf in stackFrames)
{
owp.OutputString("\nStack Frame: " + sf.FunctionName);
owp.OutputString("\n Edition of the environment : " + sf.DTE.Edition);
owp.OutputString("\n Language : " + sf.Language);
owp.OutputString("\n Locals");
EnvDTE.Expressions expressions = sf.Locals;
foreach(EnvDTE.Expression exp in expressions)
owp.OutputString("\n " + exp.Name + " = " + exp.Value);
owp.OutputString("\n Module : " + sf.Module);
owp.OutputString("\n Current Thread ID : " + sf.Parent.ID);
owp.OutputString("\n Return Type : " + sf.ReturnType);
}
}
Shared Sub TestStackFrames(ByRef dte As EnvDTE.DTE)
Dim str As String
Dim stackFrames As EnvDTE.StackFrames = dte.Debugger.CurrentThread.StackFrames
str = "Number of items in the Current Stack collection: " + _
stackFrames.Item(1).Collection.Count.ToString()
For Each sf As EnvDTE.StackFrame In stackFrames
str += vbCrLf + vbCrLf + " Stack Frame: " + sf.FunctionName
str += vbCrLf + " Edition of the environment: " + sf.DTE.Edition
str += vbCrLf + " Language: " + sf.Language
str += vbCrLf + " Locals"
Dim expressions As EnvDTE.Expressions = sf.Locals
For Each exp As EnvDTE.Expression In expressions
str += vbCrLf + " " + exp.Name + " = " + exp.Value.ToString()
Next
str += vbCrLf + " Module: " + sf.Module
str += vbCrLf + " Current Thread ID: " + sf.Parent.ID.ToString()
str += vbCrLf + " Return Type: " + sf.ReturnType
Next
MessageBox.Show(str, "Stack Frame Test - Properties")
End Sub
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.
Vea también
Referencia
Otros recursos
Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización