StackTrace和StackFrame使用笔记

来源:互联网 发布:淘宝大学商学院杭州 编辑:程序博客网 时间:2024/06/07 23:34

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)

0 0
原创粉丝点击