C#探秘系列(三)——StackTrace,Trim

前端技术 2023/09/06 C#

一: Environment.StackTrace

   可能我们看到最多的就是catch中的e参数,里面会有一个StackTrace,然后不可否认的这玩意太有用了,它会把调用堆栈中的信息输出出来,有了它,我们就可以快速的知道运行代码的执行流并且快速的定位到问题。

       有时候我们会遇到这样两个问题:

①:线上的bug在本地不能重现。

②:由于太多的多态,设计模式,程序员反而对线上的代码执行流向会搞的稀里糊涂的。

     为了搞清楚并解决这两个问题,我们看生产日志的时候很在乎代码的执行流以及想获取当前上下文的可疑变量值。获取可疑的变量值,这个好说,我们通过记录一些变量值到log就可以了,但是怎么记录下当前语句的调用堆栈信息呢?这篇就是我要介绍的一个属性,很简单,  答案也就在标题上,下面我们看看代码。

复制代码 代码如下:

class Program
    {
        static void Main(string[] args)
        {
            Person person = new Person();

            person.Fly();

            Console.Read();
        }
    }

    class Person
    {
        public void Fly()
        {
            Fly(\"test\");
        }

        public void Fly(string name)
        {
            Console.WriteLine(\"我的log日志。\\n\\n{0}\", Environment.StackTrace);
        }
    }

本文地址:https://www.stayed.cn/item/17334

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。