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 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 特性以倒序時間順序列出方法呼叫,也就是說,最近一次的方法呼叫會先描述,並且對堆疊中的每個方法呼叫列出一行堆疊追蹤資訊。 然而,由於優化過程中發生的程式碼轉換,該 StackTrace 屬性可能無法回報預期的大量方法呼叫。

Note

若要以類別階層式檢視堆疊追蹤資訊,請使用 類別。StackTrace

屬性將 StackTrace 每個方法呼叫的堆疊追蹤資訊格式化如下:

「在FullClassNameMethodNameMethodParams) in FileName :line LineNumber

字面的「at」前有三個空格,若無法提供除錯符號,則省略以「in」開頭的整個子串。 佔位符 FullClassNameMethodNameMethodParamsFileNameLineNumber、 會被實際值取代,定義如下:

FullClassName 類別的完整名稱,包括命名空間。

MethodName 方法名稱。

MethodParams 參數類型/名稱對的列表。 每對以逗號(“,”)分隔。 若 MethodName 不取參數,則省略此資訊。

FileName 方法是方法宣告的來源檔案 MethodName 名稱。 若無法提供除錯符號,則省略此資訊。

LineNumber包含呼叫堆疊中指令原始FileName碼的行MethodName號。 若無法提供除錯符號,則省略此資訊。

Environment.NewLine 字串終止堆疊追蹤的每行。

適用於