Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Gets or sets the current stack frame.
Namespace: EnvDTE90
Assembly: EnvDTE90 (in EnvDTE90.dll)
Syntax
'Declaration
Property CurrentStackFrame As StackFrame
Get
Set
StackFrame CurrentStackFrame { get; set; }
property StackFrame^ CurrentStackFrame {
StackFrame^ get ();
void set (StackFrame^ value);
}
abstract CurrentStackFrame : StackFrame with get, set
function get CurrentStackFrame () : StackFrame
function set CurrentStackFrame (value : StackFrame)
Property Value
Type: EnvDTE.StackFrame
A StackFrame object.
Implements
Remarks
For more information about the stack frame, see Memory Management: Frame Allocation.
Examples
The following example shows how to use the CurrentStackFrame property.
To test this property:
Set a breakpoint in the target application. Run the add-in.
The current stack frame is empty.
Set a breakpoint in the target application. Run the target application in the debug mode. When the program stops at the breakpoint, run the add-in.
The current stack frame contains the method name and the return type.
public static void CurrentStackFrame(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 StackFrame
Test");
owp.Activate();
owp.OutputString("Current Stack Frame Info: ");
EnvDTE90.Debugger3 debugger = (EnvDTE90.Debugger3)dte.Debugger;
EnvDTE.StackFrame sf = debugger.CurrentStackFrame;
if (sf == null)
owp.OutputString("No program is being debugged, Stack Frame is
empty.");
else
owp.OutputString("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) + ": " + _
proc.Name + vbCrLf)
End If
End Sub
.NET Framework Security
- 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.