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;             }         }
  • 相关阅读:
    Binary Tree Maximum Path Sum
    ZigZag Conversion
    Longest Common Prefix
    Reverse Linked List II
    Populating Next Right Pointers in Each Node
    Populating Next Right Pointers in Each Node II
    Rotate List
    Path Sum II
    [Leetcode]-- Gray Code
    Subsets II
  • 原文地址:https://www.cnblogs.com/micro-chen/p/4228302.html
Copyright © 2011-2022 走看看