C#在不抛出异常的情况下,获取栈轨迹

      

在程序中经常想捕获一些东西,有时候想捕获的不是异常,而是系统的某些操作。这个时候就需要捕获这个事件,并了解他的源头。c#提供了栈轨迹的概念。

          using (StreamWriter sw = new StreamWriter(path + "//StackTrace.txt", true, Encoding.Default))
                {
                                      System.Diagnostics.StackTrace ss = new System.Diagnostics.StackTrace(true);
                    for (int i = 0; i < ss.FrameCount; i++)
                    {
                        Type t = ss.GetFrame(i).GetMethod().DeclaringType;
                        if (ss.GetFrame(i).GetFileLineNumber() != 0)
                        {
                            sw.WriteLine(t.FullName + " " + ss.GetFrame(i).GetFileLineNumber());
                        }
                    }
                 }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值