.NET 检查跟踪堆栈
在.NET捕获异常时会有个当前堆栈信息;
如果想在不发生异常的时候跟踪堆栈呢。
StackTrace 类
命名空间: System.Diagnostics
程序集: mscorlib(在 mscorlib.dll 中)
StackTrace st = new StackTrace(true);
StackFrame[] sfArray = st.GetFrames();
StringBuilder sbStackTrace = new StringBuilder();
foreach (StackFrame sf in sfArray)
{
if (!string.IsNullOrEmpty(sf.GetMethod().ReflectedType.FullName))
{
sbStackTrace.Append("at:" + sf.GetMethod().ReflectedType.FullName);
}
if (!string.IsNullOrEmpty(sf.GetMethod().ToString()))
{
sbStackTrace.Append("method:" + sf.GetMethod().ToString());
}
if (!string.IsNullOrEmpty(sf.GetFileName()))
{
sbStackTrace.Append("in:" + sf.GetFileName().ToString());
}
if (sf.GetFileLineNumber() > 0)
{
sbStackTrace.Append("line:" + sf.GetFileLineNumber());
}
}
posted on 2011-12-15 14:46 debugdotnet 阅读(537) 评论(0) 编辑 收藏 举报