获取带有行号的完整堆栈跟踪

Get full stack trace with line numbers

是否有可能在代码中的任何给定点使用行号获得完整的StackTrace对象

我找到了这个:

var stackTrace = new StackTrace();

这给了我执行过程中的完整堆栈跟踪。但它不包括行号。

我也发现了这个:

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

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

有没有办法把两者结合起来?

注意:我没有遇到任何异常。我正处于代码中我想以自定义方式记录堆栈跟踪的位置。

注意:我知道 Environment.Properties.StackTrace。但是 returns 是一个字符串,而不是 StackTrace 对象。

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

var stackTrace = new StackTrace(true);

来自文档:

Parameters

fNeedFileInfo
Type: System.Boolean
true to capture the file name, line number, and column number; otherwise, false.