次の方法で共有


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 、時系列の逆順です。 配列インデックス 0 の は StackFrame 、スタック トレース内の最新の関数呼び出しと、呼び出し履歴にプッシュされた最後のフレームを表します。 配列インデックスFrameCountから 1 を引いた値はStackFrame、スタック トレース内で最も古い関数呼び出しと、呼び出し履歴にプッシュされた最初のフレームを表します。

GetFramesスタック トレース内のすべてのスタック フレームを取得するには、 メソッドを使用します。スタック トレース内の特定のスタック フレームを取得するには、 メソッドを使用GetFrameします。 インデックスは StackFrame 、2 つのメソッドによって同様に順序付けされます。 たとえば、 StackFrame によって返されるGetFrames配列の at インデックス 0 は、入力インデックスが 0 の によってGetFrame返される と同じですStackFrame

適用対象

こちらもご覧ください