Condividi tramite


StackFrame.Parent Property

Definition

Gets the immediate parent object of a StackFrame object.

public:
 property EnvDTE::Thread ^ Parent { EnvDTE::Thread ^ get(); };
public:
 property EnvDTE::Thread ^ Parent { EnvDTE::Thread ^ get(); };
[System.Runtime.InteropServices.DispId(201)]
public EnvDTE.Thread Parent { [System.Runtime.InteropServices.DispId(201)] get; }
[<System.Runtime.InteropServices.DispId(201)>]
[<get: System.Runtime.InteropServices.DispId(201)>]
member this.Parent : EnvDTE.Thread
Public ReadOnly Property Parent As Thread

Property Value

A Thread object.

Attributes

Examples

The following example demonstrates how to use the Parent property.

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  

Remarks

The Parent property returns the immediate parent to the StackFrame object. To get the containing collection, use the Collection property.

Applies to