以编程方式获取C#Stack Trace

时间:2011-07-08 12:22:03

标签: c# .net stack-trace

  

可能重复:
  How to print the current Stack Trace in .NET without any exception?

抛出异常时,其文本包含堆栈跟踪。我可以以某种方式获得堆栈跟踪文本(包括文件和行)没有例外吗?

public void f()
{
   //blah
   string stacktrace = ???;
   //blah
}

3 个答案:

答案 0 :(得分:73)

Environment.StackTraceSystem.Diagnostics.StackTrace如果您需要更方便(即不是字符串)的表示

答案 1 :(得分:18)

是......

StackTrace stackTrace = new StackTrace();           // get call stack
StackFrame[] stackFrames = stackTrace.GetFrames()

答案 2 :(得分:14)

string stackTrace = Environment.StackTrace;