zoukankan      html  css  js  c++  java
  • 获取当前程序运行的堆栈的副本集合

    从DNN中拔出的,效果不赖。。。获取程序运行时候异常的调用堆栈位置

     /// <summary>         /// 获取调用的堆栈信息 获取当前程序运行的堆栈的副本集合         /// </summary>         private static StackFrame CallingFrame         {             get             {                 StackFrame frame = null;                 ///返回当前堆栈跟踪中所有堆栈帧的副本。                 var stack = new StackTrace().GetFrames();                 int frameDepth = 0;                 if (stack != null)                 {                     ///穷历  直到找到要调用日志或者异常的时候 的前一个方法    就查询到了 出错的执行方法的位置                     var reflectedType = stack[frameDepth].GetMethod().ReflectedType;                     while (reflectedType == BuildManager.GetType("DotNetNuke.Services.Exceptions.Exceptions", false)                             || reflectedType == typeof(DnnLogger)                             || reflectedType == typeof(DnnLog))                     {                         //排除这些类 找到指定的调用的类 Type                         frameDepth++;                         reflectedType = stack[frameDepth].GetMethod().ReflectedType;                     }                     frame = stack[frameDepth];                 }                 return frame;             }         }
  • 相关阅读:
    java基础之分辨final,static, abstract
    HTML DOM
    Zero Copy-转载201604
    Zero Copy
    java 虚拟机
    Spring Junit4
    【转】Java的序列化和反序列化总结
    【转】SQL Server 查询处理中的各个阶段(SQL执行顺序)
    【转】linux sar命令详解
    【转】linux top命令详解
  • 原文地址:https://www.cnblogs.com/micro-chen/p/4228302.html
Copyright © 2011-2022 走看看