Environment.StackTrace プロパティ

定義

現在のスタック トレース情報を取得します。

public:
 static property System::String ^ StackTrace { System::String ^ get(); };
public static string StackTrace { get; }
member this.StackTrace : string
Public Shared ReadOnly Property StackTrace As String

プロパティ値

String

スタック トレース情報を格納している文字列。 この値は、Empty の場合もあります。

StackTraceプロパティの例を次に示します。

// Sample for the Environment::StackTrace property
using namespace System;
int main()
{
   Console::WriteLine();
   Console::WriteLine( "StackTrace: ' {0}'", Environment::StackTrace );
}

/*
This example produces the following results:

StackTrace: '   at System::Environment::GetStackTrace(Exception e)
at System::Environment::GetStackTrace(Exception e)
at System::Environment::get_StackTrace()
at Sample::Main()'
*/
// Sample for the Environment.StackTrace property
using System;

class Sample
{
    public static void Main()
    {
    Console.WriteLine();
    Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace);
    }
}
/*
This example produces the following results:

StackTrace: '   at System.Environment.GetStackTrace(Exception e)
   at System.Environment.GetStackTrace(Exception e)
   at System.Environment.get_StackTrace()
   at Sample.Main()'
*/
// Sample for the Environment.StackTrace property
open System

printfn $"\nStackTrace: '{Environment.StackTrace}'"

// This example produces the following results:
//     StackTrace: '   at System.Environment.GetStackTrace(Exception e)
//        at System.Environment.GetStackTrace(Exception e)
//        at System.Environment.get_StackTrace()
//        at <StartupCode$fs>.$Stacktrace.main@()'
' Sample for the Environment.StackTrace property
Class Sample
   Public Shared Sub Main()
      Console.WriteLine()
      Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace)
   End Sub
End Class
'
'This example produces the following results:
'
'StackTrace: '   at System.Environment.GetStackTrace(Exception e)
'   at System.Environment.GetStackTrace(Exception e)
'   at System.Environment.get_StackTrace()
'   at Sample.Main()'
'

注釈

このプロパティは StackTrace 、メソッド呼び出しを順に逆順に一覧表示します。つまり、最新のメソッド呼び出しが最初に説明され、スタック上のメソッド呼び出しごとに 1 行のスタック トレース情報が一覧表示されます。 ただし、最適化中に発生する StackTrace コード変換が原因で、このプロパティで予想される数のメソッド呼び出しが報告されない場合があります。

注意

クラス別のスタック トレース情報の階層ビューには、クラスを使用します StackTrace

このプロパティは StackTrace 、各メソッド呼び出しのスタック トレース情報を次のように書式設定します。

"at FullClassName.MethodName(MethodParams) in FileName :line LineNumber "

リテラル "at" の前には 3 つのスペースが付き、デバッグ シンボルが使用できない場合は、"in" で始まる部分文字列全体が省略されます。 プレースホルダー 、FullClassName、、FileName``MethodName``MethodParams``LineNumberは実際の値に置き換えられ、次のように定義されます。

FullClassName 名前空間を含む、クラスの完全な名前。

MethodName メソッドの名前。

MethodParams パラメーターの型と名前のペアの一覧。 各ペアはコンマ (",") で区切られます。 パラメーターを受け取らない場合 MethodName 、この情報は省略されます。

FileName メソッドが宣言されているソース ファイルの MethodName 名前。 デバッグ シンボルを使用できない場合、この情報は省略されます。

LineNumber 呼び出し履歴にある FileName 命令のソース コード MethodName を含む行の番号。 デバッグ シンボルを使用できない場合、この情報は省略されます。

この文字列は Environment.NewLine 、スタック トレースの各行を終了します。

適用対象