用于调试的System.Diagnostics.StackTrace或System.Diagnostics.StackFrame?为什么

时间:2009-05-29 12:29:03

标签: c# debugging logging error-handling

这是代码:

System.Diagnostics.StackFrame stackFrame = new System.Diagnostics.StackFrame();
System.Reflection.MethodBase methodBase = stackFrame.GetMethod();
stackFrame.GetFileName();
stackFrame.GetFileLineNumber();
与使用System.Diagnostics.StackTrace相比,

更适合调试

1 个答案:

答案 0 :(得分:2)

StackTrace在内部使用StackFrame,默认构造函数将为您处理此问题并设置列号。

我会坚持使用StackTrace,除非您需要有限数量的帧或缩减的堆栈跟踪(可能出于性能原因)