本·神秘主义者 对堆栈跟踪的高性能了解 .NET堆栈跟踪输出编译器转换后的方法; 而不是源代码方法,这会使它们在思维上难以解析并匹配到源代码。 当前输出对于C#1.0来说是好的。 但是自从C#2.0(迭代器,泛型)向.NET语言添加新功能以来,情况就变得越来越糟,在C#7.1中,堆栈跟踪变得深奥了(请参阅:)。 使错误日志更有效率 以易于理解的方式在堆栈跟踪中输出现代C#7.0功能,就像生成它们的源代码一样。 用法 exception.Demystify() 或者代替Environment.StackTrace EnhancedStackTrace.Current() 将堆栈解析为调用的C