StackTrace
表示一個堆棧跟蹤,它是一個或多個堆棧幀的有序集合。
StackFrame
提供關於 StackFrame(表示當前線程的調用堆棧中的一個函數調用)的信息。
作用
他們常用來追蹤錯誤。
實例:
using System.Diagnostics;
StackTrace st = new StackTrace(true);
for(int i =0; i< st.FrameCount; i++ )
{
StackFrame sf = st.GetFrame(i);
Console.WriteLine();
Console.WriteLine(stackIndent + " Method: {0}",
sf.GetMethod() );
Console.WriteLine( stackIndent + " File: {0}",
sf.GetFileName());
Console.WriteLine( stackIndent + " Line Number: {0}",
sf.GetFileLineNumber());
stackIndent += " ";
}
常用函數
GetFrame(Int32)
獲取指定的堆棧幀。
StackFrame sf = st.GetFrame(i);
GetFileName()
獲取出錯部分的程序所在的文件。
string loc = sf.GetFileName()
GetFileLineNumber()
獲取出錯部分的程序所在的文件的行數。
int line = sf.GetFileLineNumber();
GetMethod()
獲取出錯的程序。
string m = sf.GetMethod().ToString();
鏈接
StackTrace 類 (System.Diagnostics)
StackFrame 類 (System.Diagnostics)