StackFrame.Collection Property
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the collection that contains the object that supports this property or is contained in this code construct. Returns null for an object that is not obtained from a collection.
public:
property EnvDTE::StackFrames ^ Collection { EnvDTE::StackFrames ^ get(); };
[System.Runtime.InteropServices.DispId(202)]
public EnvDTE.StackFrames Collection { [System.Runtime.InteropServices.DispId(202)] get; }
[<System.Runtime.InteropServices.DispId(202)>]
[<get: System.Runtime.InteropServices.DispId(202)>]
member this.Collection : EnvDTE.StackFrames
Public ReadOnly Property Collection As StackFrames
A StackFrames collection.
- Attributes
The following example demonstrates how to use the Collection 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