StackTrace.GetFrames 方法

定义

返回当前堆栈跟踪中所有堆栈帧的副本。

public:
 cli::array <System::Diagnostics::StackFrame ^> ^ GetFrames();
public:
 virtual cli::array <System::Diagnostics::StackFrame ^> ^ GetFrames();
public System.Diagnostics.StackFrame[] GetFrames ();
public virtual System.Diagnostics.StackFrame[] GetFrames ();
public virtual System.Diagnostics.StackFrame?[] GetFrames ();
[System.Runtime.InteropServices.ComVisible(false)]
public virtual System.Diagnostics.StackFrame[] GetFrames ();
member this.GetFrames : unit -> System.Diagnostics.StackFrame[]
abstract member GetFrames : unit -> System.Diagnostics.StackFrame[]
override this.GetFrames : unit -> System.Diagnostics.StackFrame[]
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member GetFrames : unit -> System.Diagnostics.StackFrame[]
override this.GetFrames : unit -> System.Diagnostics.StackFrame[]
Public Function GetFrames () As StackFrame()
Public Overridable Function GetFrames () As StackFrame()

返回

StackFrame 类型的数组,表示堆栈跟踪中的函数调用。

属性

示例

下面的代码示例演示如何枚举 中的 StackTrace帧。

StackTrace^ st = gcnew StackTrace( 1,true );
array<StackFrame^>^stFrames = st->GetFrames();
for ( int i; i < stFrames->Length; i++ )
{
   StackFrame^ sf = stFrames[ i ];
   Console::WriteLine( "Method: {0}", sf->GetMethod() );

}
StackTrace st = new StackTrace(1, true);
StackFrame [] stFrames = st.GetFrames();

foreach(StackFrame sf in stFrames )
{
   Console.WriteLine("Method: {0}", sf.GetMethod() );
}
Dim strace As New StackTrace(1, True)
Dim stFrames As StackFrame() = strace.GetFrames()

Dim sf As StackFrame
For Each sf In  stFrames
   Console.WriteLine("Method: {0}", sf.GetMethod())
Next sf

注解

使用返回的 StackFrame 数组枚举和检查 中的 StackTrace函数调用。 返回数组的长度等于 FrameCount 属性值。

数组 StackFrame 元素按相反的时间顺序排列。 at StackFrame 数组索引 0 表示堆栈跟踪中最近的函数调用,以及推送到调用堆栈的最后一帧。 at StackFrame 数组索引 FrameCount 减 1 表示堆栈跟踪中最早的函数调用和推送到调用堆栈上的第一个帧。

GetFrames使用 方法获取堆栈跟踪中的所有堆栈帧;使用 GetFrame 方法获取堆栈跟踪中的特定堆栈帧。 索引 StackFrame 的排序方式与这两种方法类似。 例如, StackFrame 由 返回 GetFrames 的数组中位于索引 0 处的 等效于 StackFrame 返回 GetFrame 的 ,输入索引为 0。

适用于

另请参阅