Thread.StackFrames Property
Visual Studio 2012
Gets the collection of stack frames through which this thread is executing.
Namespace: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
The following example demonstrates how to use the StackFrames property.
To test this property
Set the breakpoint inside the worker thread callback method.
Run the target application in the debug mode.
When the application stops on the breakpoint, run the add-in.
public static void TestThreadProperties(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("Thread Test"); owp.Activate(); EnvDTE.Threads threads = dte.Debugger.CurrentProgram.Threads; owp.OutputString("\nNumber of items in the Thread collection: " + threads.Item(1).Collection.Count + "\n"); foreach(EnvDTE.Thread thread in threads) { owp.OutputString("\nThread: " + thread.ID + " Name: " + thread.Name); owp.OutputString("\n Edition of the environment : " + thread.DTE.Edition); owp.OutputString("\n Is alive : " + thread.IsAlive); owp.OutputString("\n Is frozen : " + thread.IsFrozen); owp.OutputString("\n Location : " + thread.Location); owp.OutputString("\n Parent's current mode : " + thread.Parent.CurrentMode); owp.OutputString("\n Priority : " + thread.Priority); owp.OutputString("\n Program name : " + thread.Program.Name); owp.OutputString("\n Number of stack frames : " + thread.StackFrames.Count); owp.OutputString("\n Suspended number of times : " + thread.SuspendCount); } }
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.