zoukankan      html  css  js  c++  java
  • StackTrace

     我们在学习函数调用时,都知道每个函数都拥有自己的栈空间。一个函数被调用时,就创建一个新的栈空间。那么通过函数的嵌套调用最后就形成了一个函数调用堆栈。在c#中,使用StackTrace记录这个堆栈。你可以在程序运行过程中使用StackTrace得到当前堆栈的信息。

    class Program
        
    {
            
    static void Main(string[] args)
            
    {
                Program a 
    = new Program();
                a.FuncA();
                Console.ReadLine();
            }

            
    int FuncA()
            
    {
                FuncB();
                
    return 0;
            }


            
    private void FuncB()
            
    {
                MethodInfo method0 
    = (MethodInfo)(new StackTrace().GetFrame(0).GetMethod());
                MethodInfo method1 
    = (MethodInfo)(new StackTrace().GetFrame(1).GetMethod());
                MethodInfo method2 
    = (MethodInfo)(new StackTrace().GetFrame(2).GetMethod());
                
                Console.WriteLine(
    "Current Method is : {0}",method0.Name);
                Console.WriteLine(
    "Parent Method is : {0}", method1.Name);
                Console.WriteLine(
    "GrandParent Method is : {0}", method2.Name);
            }

        }
  • 相关阅读:
    如何查看ubuntu版本
    基于Python与命令行人脸识别项目(系列一)
    问题 B: Curriculum Vitae
    问题 M: 克隆玩具
    1906: 鹊桥相会
    3265: 聪明的矿工
    2363: 完美旗手队列
    2545: 内部收益率
    2544: 台球碰撞
    3272: 公民身份号码
  • 原文地址:https://www.cnblogs.com/yongtaiyu/p/2904043.html
Copyright © 2011-2022 走看看