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.