`
wsql
  • 浏览: 11815129 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

获取当前调用函数的信息

阅读更多

System.Diagnostics.StackTrace可以看到很多运行时当前堆栈中有用的信息,权威参考 http://msdn.microsoft.com/zh-cn/library/system.diagnostics.stacktrace.aspx

开始我是为了得到webservice中当前执行的方法的名称而找到的这个东西。

下面代码演示了,一个类中方法的之间的调用次序

using System;

using System.Collections.Generic;

using System.Text;

namespace ConsoleApplication28

{

    class Program

    {

        static void Main(string[] args)

        {

            A();

            B();

            Console.Read();

        }

        static void A()

        {

            ShowStack();

        }

        static void B()

        {

            ShowStack();

            A();

        }

        static void ShowStack()

        {

            System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(true);

            System.Diagnostics.StackFrame[] sfs = st.GetFrames();

            for (int i = sfs.Length - 1; i >= 0; i--)

            {

                Console.Write(sfs[i].GetMethod().Name + "->");

            }

            Console.WriteLine("\r\n***************");

        }

    }

    /*

    ThreadStart->Run->ThreadStart_Context->RunUsersAssembly->ExecuteAssembly->_nExecuteAssembly->Main->A->ShowStack->

    ***************

    ThreadStart->Run->ThreadStart_Context->RunUsersAssembly->ExecuteAssembly->_nExecuteAssembly->Main->B->ShowStack->

    ***************

    ThreadStart->Run->ThreadStart_Context->RunUsersAssembly->ExecuteAssembly->_nExecuteAssembly->Main->B->A->ShowStack->

    ***************

    */

}

具体它对你有什么用,就看你的需求和设计期的想象力了,比如蝈蝈的blog上就有一篇很好的示范: 使用 StackTrace 获得更多跟 Exception 有关的信息

h ttp://blog.joycode.com/ghj/archive/2008/03/05/114925.aspx

分享到:
评论

相关推荐

    C++高效获取函数调用堆栈

    C++ 获取函数调用堆栈的 高效实现代码

    C# 调用函数时动态获取参数名称和值

    C# 调用函数时动态获取参数名称和值 C# 调用函数时动态获取参数名称和值 C# 调用函数时动态获取参数名称和值

    Nodejs中获取当前函数被调用的行数及文件名详解

    主要给大家介绍了关于Nodejs中获取当前函数被调用的行数及文件名的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    通过Labview调用API函数获取屏幕RGB值

    通过Labview调用API函数 CreateDCA、GetPixel获取屏幕RGB值,移动鼠标可以获取实时的颜色值,十六进制显示。

    PHP获取当前页面URL函数实例

    本文实例讲述了PHP获取当前...复制代码 代码如下:/* 获得当前页面URL开始 */ function curPageURL() {  $pageURL = ‘http’;  if ($_SERVER[“HTTPS”] == “on”) { // 如果是SSL加密则加上“s”  $pageURL

    API之网络函数---整理网络函数及功能

    DeviceCapabilities 利用这个函数可获得与一个设备的能力有关的信息 DocumentProperties 打印机配置控制函数 EndDocAPI 结束一个成功的打印作业 EndDocPrinter 在后台打印程序的级别指定一个文档的结束 EndPage ...

    pthread_self获取当前调用线程的识别码

    头文件  #include <pthread.h> 函数原形  pthread_t pthread_self();

    electron调用 C++ dll 罗技方向盘

    使用 electron 调用 罗技 方向盘获取方向盘实时...Electron获取当前窗口句柄并传入至Dll对应的方法中 Electron中定义对应的结构体并传入DLL对应的方法中 参考UdkDLLBindInstructions.pdf文档定义结构体,调用对应的方法

    python获取当前运行函数名称的方法实例代码

    python获取当前运行函数名称的方法实例代码 摘要: c/c++中获取函数所在源码名,函数名和行号的方法很简单 __FILE__,__FUNCTION__和__LINE__ python没有这种语法,但也可以通过某种方法得到,这里给出例子,使用异常...

    C语言函数调用栈(三)

    本节通过代码实例分析函数调用过程中栈帧的布局、形成和消亡。示例代码如下:该程序每个函数都嵌入汇编代码,以获取各函数运行时刻EBP和ESP寄存器的值。每个函数都打印出EBP寄存器所指向内存地址处的值,以及位于其...

    DLL函数查看器 v3.5

    6.如果将易语言API伴侣DATA下文件复制到本目录,可获得已知函数信息.这首先要感谢API伴侣的作者 7.在目录下建立 "ViewApi.cfg" ,设置信息将写入配置文件可方便放入优盘等移动存储器中使用 程序启动时会优先读取...

    详解微信小程序获取当前时间及日期的方法

    // 调用函数时,传入new Date()参数,返回值是日期和时间 var TIME = util.formatTime(new Date()); this.setData({ time: TIME, });  这样就获取到了当前时间,但是我们发现在util.js中并没有获取当前日期的方法。...

    Linux系统调用(返回当前的系统时间)

    在Linux中产生一个系统调用以及怎样通过往Linux内核中增加一个新函数从而在该内核空间中实现对用户空间的读写。这个函数的功能是返回当前的系统时间。

    Ajax获取当前IP和地区位置代码.zip

    Ajax获取当前IP和地区位置代码是一款jQuery调用ajax函数获取当前IP地址和当前省市区位置效果代码。

    ansys 内嵌获取函数的用法

    获取函数返回项目的值并直接用于当前运行之中。这样就不必先把值赋给参数,然后再在运行中调用该参数,从而可以省去起中间作用的参数。例如,要计算两个节点的X坐标的平均值,可以采用*GET函数:

    精通WindowsAPI 函数 接口 编程实例

    5.5.2 获得当前系统内存使用情况 146 5.5.3 判断内存指针的可用性 147 5.6 各种内存分配方式的关系与比较 148 5.6.1 标准C内存管理函数与Windows内存管理API的关系 149 5.6.2 功能性区别 149 5.6.3 效率...

    Windows API函数大全

    DeviceCapabilities 利用这个函数可获得与一个设备的能力有关的信息 DocumentProperties 打印机配置控制函数 EndDocAPI 结束一个成功的打印作业 EndDocPrinter 在后台打印程序的级别指定一个文档的结束 EndPage ...

    DLL函数查看器V3.5

    6.如果将易语言API伴侣DATA下文件复制到本目录,可获得已知函数信息.这首先要感谢API伴侣的作者. 7.在目录下建立 "ViewApi.cfg" ,设置信息将写入配置文件可方便放入优盘等移动存储器中使用. 程序启动时会优先读取...

    精通Windows.API-函数、接口、编程实例.pdf

    5.5.2 获得当前系统内存使用情况 146 5.5.3 判断内存指针的可用性 147 5.6 各种内存分配方式的关系与比较 148 5.6.1 标准C内存管理函数与Windows内存管理API的关系 149 5.6.2 功能性区别 149 5.6.3 效率...

Global site tag (gtag.js) - Google Analytics