StackTrace.GetFrames 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回当前堆栈跟踪中所有堆栈帧的副本。
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。