Environment.StackTrace プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在のスタック トレース情報を取得します。
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
プロパティ値
スタック トレース情報を格納している文字列。 この値は、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 、スタック トレースの各行を終了します。