Udostępnij za pośrednictwem


StackFrame.FunctionName Property

Definition

Gets the function name of this stack frame.

public:
 property System::String ^ default { System::String ^ get(); };
public:
 property Platform::String ^ default { Platform::String ^ get(); };
[System.Runtime.InteropServices.DispId(0)]
public string this { [System.Runtime.InteropServices.DispId(0)] get; }
[<System.Runtime.InteropServices.DispId(0)>]
[<get: System.Runtime.InteropServices.DispId(0)>]
member this.FunctionName : string
Default Public ReadOnly Property FunctionName As String

Property Value

The function name of this stack frame.

Attributes

Examples

The following example demonstrates how to use the FunctionName 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  

Applies to