次の方法で共有


Environment.StackTrace プロパティ

定義

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

public:
 static property System::String ^ StackTrace { System::String ^ get(); };
public static string StackTrace { get; }
static member 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" で始まる部分文字列全体が省略されます。 プレースホルダー、、MethodNameFullClassNameMethodParamsFileNameおよび LineNumberは実際の値に置き換えられ、次のように定義されます。

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

MethodName メソッドの名前。

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

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

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

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

適用対象