次の方法で共有


Environment.StackTrace プロパティ

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

Public Shared ReadOnly Property StackTrace As String
[C#]
public static string StackTrace {get;}
[C++]
public: __property static String* get_StackTrace();
[JScript]
public static function get StackTrace() : String;

プロパティ値

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

例外

例外の種類 条件
ArgumentOutOfRangeException 要求されたスタック トレース情報が指定範囲外です。

解説

StackTrace プロパティは、メソッド呼び出しを逆発生順に並べた一覧です。つまり、最近のメソッド呼び出しが最初に記述され、スタック上の各メソッド呼び出しに対して 1 行のスタック トレース情報が示されます。ただし、 StackTrace プロパティでは、最適化処理中に実行されたコード変換のために、予期したほど多くのメソッド呼び出しが報告されない場合があります。

各メソッド呼び出しに対するスタック トレース情報の書式は、次のとおりです。

"at FullClassName. MethodName (MethodParams) in FileName:line LineNumber "リテラル "at" の手前には 3 つの空白が置かれます。デバッグ記号が使用できない場合、リテラルの "in" と ":line" は無視されます。 FullClassNameMethodNameMethodParmsFileNameLineNumber の各プレースホルダは、次のように、定義された実際の値で置き換えられます。

FullClassName

名前空間を含む、クラスのフルネーム。

MethodName

メソッドの名前。

MethodParms

パラメータの型と名前の組み合わせのリスト。それぞれの組み合わせはコンマ (,) で区切られます。 MethodName にパラメータが渡されない場合は、この情報は省略されます。

FileName

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

LineNumber

コールスタック上にある命令を示す MethodName のソース コードを格納している FileName 内の行の番号。デバッグ記号が使用できない場合、この情報は無視されます。

使用例

 
' Sample for the Environment.StackTrace property
Imports System

Class Sample
   Public Shared Sub Main()
      Console.WriteLine()
      Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace)
   End Sub 'Main
End Class 'Sample
'
'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()'
'

[C#] 
// 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()'
*/

[C++] 
// Sample for the Environment::StackTrace property
#using <mscorlib.dll>

using namespace System;

int main() {
   Console::WriteLine();
   Console::WriteLine(S"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()'
*/

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, Common Language Infrastructure (CLI) Standard

.NET Framework セキュリティ:

参照

Environment クラス | Environment メンバ | System 名前空間