建構式
| 名稱 | 說明 |
|---|---|
| StackTrace () | |
| StackTrace (Boolean) | |
| StackTrace (Exception) | |
| StackTrace (Int32) | |
| StackTrace (StackFrame) | |
| StackTrace (Exception, Boolean) | |
| StackTrace (Exception, Int32) | |
| StackTrace (Int32, Boolean) | |
| StackTrace (Thread, Boolean) | |
| StackTrace (Exception, Int32, Boolean) |
公用屬性
| 名稱 | 說明 |
|---|---|
| FrameCount | 取得堆疊追蹤中的框架數。 |
公用方法
| 說明 | |
|---|---|
| 多載。 判斷兩個 執行個體是否相等。 (繼承自 )。 | |
| GetFrame | 取得指定的堆疊框架。 |
| GetFrames | 傳回目前堆疊追蹤內的所有堆疊框架的複本。 |
| 做為特定型別的雜湊函式。 很適合用在雜湊演算法和資料結構中 (例如雜湊資料表)。 (繼承自 )。 | |
| 取得目前執行個體的 。 (繼承自 )。 | |
| 判斷指定的 Object 執行個體是否為相同的執行個體。 (繼承自 )。 | |
| ToString | 覆寫。 建立堆疊追蹤的可讀取表示。 |
範例1 取得如Execption中的StackTrace資訊
class Program
{
static void Main(string[] args)
{
test();
}
static void test()
{
StackTrace st = new StackTrace();
Console.Write(st.ToString());
Console.Read();
// 輸出
// 於 StackTraceTest.Program.test()
// 於 StackTraceTest.Program.Main(String[] args)
}
}
{
static void Main(string[] args)
{
test();
}
static void test()
{
StackTrace st = new StackTrace();
Console.Write(st.ToString());
Console.Read();
// 輸出
// 於 StackTraceTest.Program.test()
// 於 StackTraceTest.Program.Main(String[] args)
}
}
範例2 取得如Execption中的StackTrace資訊,但有檔案資訊。
class Program
{
static void Main(string[] args)
{
test();
}
static void test()
{
StackTrace st = new StackTrace(true);
Console.Write(st.ToString());
Console.Read();
// 輸出
// 於 StackTraceTest.Program.test() 於 D:\XX\Program.cs: 行 17
// 於 StackTraceTest.Program.Main(String[] args) 於 D:\XX\Program.cs: 行 12
}
}
{
static void Main(string[] args)
{
test();
}
static void test()
{
StackTrace st = new StackTrace(true);
Console.Write(st.ToString());
Console.Read();
// 輸出
// 於 StackTraceTest.Program.test() 於 D:\XX\Program.cs: 行 17
// 於 StackTraceTest.Program.Main(String[] args) 於 D:\XX\Program.cs: 行 12
}
}
範例3 取得自己的資訊
class Program
{
static void Main(string[] args)
{
test();
}
static void test()
{
StackTrace st = new StackTrace(true);
Console.Write(st.GetFrame(0).ToString());
Console.Read();
}
}
{
static void Main(string[] args)
{
test();
}
static void test()
{
StackTrace st = new StackTrace(true);
Console.Write(st.GetFrame(0).ToString());
Console.Read();
}
}
後來在上Google搜才知道,原來有一堆關於System.Diagnostices.StackTrace的資訊,為什麼我以前沒看到..