使用行号获取完整的堆栈跟踪

时间:2015-02-27 22:01:23

标签: c# .net

是否可以在代码中的任何给定点获得完整的StackTrace对象 WITH 行号

我发现了这个:

var stackTrace = new StackTrace();

这给了我完整的堆栈跟踪,从我执行的地方。但它不包括行号。

我也发现了这个:

var stackTrace = new StackTrace(new StackFrame(1, true));

这给了我行号,但仅限于StackTrace的一帧(不是完整的StackTrace)。

有没有办法让两者结合在一起?

注意:我没有与我合作的例外情况。我只是在代码中的一个点,我想以自定义方式记录堆栈跟踪。

注意:我了解Environment.Properties.StackTrace。但是返回一个字符串,而不是StackTrace个对象。

1 个答案:

答案 0 :(得分:9)

我怀疑你只想打电话给overload taking a bool

var stackTrace = new StackTrace(true);

来自文档:

  

参数

     

fNeedFileInfo
  输入:System.Boolean
  true捕获文件名,行号和列号;否则,false