Environment.StackTrace 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得目前堆疊追蹤資訊。
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 每個方法呼叫的堆疊追蹤資訊格式化如下:
「在FullClassNameMethodName(MethodParams) in FileName :line LineNumber ”
字面的「at」前有三個空格,若無法提供除錯符號,則省略以「in」開頭的整個子串。 佔位符 FullClassName、 MethodName、 MethodParamsFileName、 LineNumber、 會被實際值取代,定義如下:
FullClassName 類別的完整名稱,包括命名空間。
MethodName 方法名稱。
MethodParams 參數類型/名稱對的列表。 每對以逗號(“,”)分隔。 若 MethodName 不取參數,則省略此資訊。
FileName 方法是方法宣告的來源檔案 MethodName 名稱。 若無法提供除錯符號,則省略此資訊。
LineNumber包含呼叫堆疊中指令原始FileName碼的行MethodName號。 若無法提供除錯符號,則省略此資訊。
該 Environment.NewLine 字串終止堆疊追蹤的每行。