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)
本文深入探讨了堆栈跟踪(StackTrace)及其组成部分堆栈帧(StackFrame)。通过实例展示了如何使用StackTrace类和StackFrame类来追踪错误,包括获取方法、文件名、行号等关键信息。
1244

被折叠的 条评论
为什么被折叠?



