Поделиться через


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 массива находятся в обратном хронологическом порядке. Индекс StackFrame массива 0 представляет последний вызов функции в трассировке стека и последний кадр, отправленный в стек вызовов. Индекс массива StackFrameFrameCount минус 1 представляет самый старый вызов функции в трассировке стека и первый кадр, отправленный в стек вызовов.

Используйте метод , GetFrames чтобы получить все кадры стека в трассировке стека; используйте GetFrame метод для получения определенного кадра стека в трассировке стека. Индексы StackFrame упорядочены одинаково двумя методами. Например, StackFrame объект с индексом 0 в массиве, возвращаемом методом GetFrames , эквивалентен значению StackFrame , возвращаемого методом с входным индексом GetFrame 0.

Применяется к

См. также раздел