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# 调用函数时动态获取参数名称和值
主要给大家介绍了关于Nodejs中获取当前函数被调用的行数及文件名的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
通过Labview调用API函数 CreateDCA、GetPixel获取屏幕RGB值,移动鼠标可以获取实时的颜色值,十六进制显示。
本文实例讲述了PHP获取当前...复制代码 代码如下:/* 获得当前页面URL开始 */ function curPageURL() { $pageURL = ‘http’; if ($_SERVER[“HTTPS”] == “on”) { // 如果是SSL加密则加上“s” $pageURL
DeviceCapabilities 利用这个函数可获得与一个设备的能力有关的信息 DocumentProperties 打印机配置控制函数 EndDocAPI 结束一个成功的打印作业 EndDocPrinter 在后台打印程序的级别指定一个文档的结束 EndPage ...
头文件 #include <pthread.h> 函数原形 pthread_t pthread_self();
使用 electron 调用 罗技 方向盘获取方向盘实时...Electron获取当前窗口句柄并传入至Dll对应的方法中 Electron中定义对应的结构体并传入DLL对应的方法中 参考UdkDLLBindInstructions.pdf文档定义结构体,调用对应的方法
python获取当前运行函数名称的方法实例代码 摘要: c/c++中获取函数所在源码名,函数名和行号的方法很简单 __FILE__,__FUNCTION__和__LINE__ python没有这种语法,但也可以通过某种方法得到,这里给出例子,使用异常...
本节通过代码实例分析函数调用过程中栈帧的布局、形成和消亡。示例代码如下:该程序每个函数都嵌入汇编代码,以获取各函数运行时刻EBP和ESP寄存器的值。每个函数都打印出EBP寄存器所指向内存地址处的值,以及位于其...
6.如果将易语言API伴侣DATA下文件复制到本目录,可获得已知函数信息.这首先要感谢API伴侣的作者 7.在目录下建立 "ViewApi.cfg" ,设置信息将写入配置文件可方便放入优盘等移动存储器中使用 程序启动时会优先读取...
// 调用函数时,传入new Date()参数,返回值是日期和时间 var TIME = util.formatTime(new Date()); this.setData({ time: TIME, }); 这样就获取到了当前时间,但是我们发现在util.js中并没有获取当前日期的方法。...
在Linux中产生一个系统调用以及怎样通过往Linux内核中增加一个新函数从而在该内核空间中实现对用户空间的读写。这个函数的功能是返回当前的系统时间。
Ajax获取当前IP和地区位置代码是一款jQuery调用ajax函数获取当前IP地址和当前省市区位置效果代码。
获取函数返回项目的值并直接用于当前运行之中。这样就不必先把值赋给参数,然后再在运行中调用该参数,从而可以省去起中间作用的参数。例如,要计算两个节点的X坐标的平均值,可以采用*GET函数:
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 效率...
DeviceCapabilities 利用这个函数可获得与一个设备的能力有关的信息 DocumentProperties 打印机配置控制函数 EndDocAPI 结束一个成功的打印作业 EndDocPrinter 在后台打印程序的级别指定一个文档的结束 EndPage ...
6.如果将易语言API伴侣DATA下文件复制到本目录,可获得已知函数信息.这首先要感谢API伴侣的作者. 7.在目录下建立 "ViewApi.cfg" ,设置信息将写入配置文件可方便放入优盘等移动存储器中使用. 程序启动时会优先读取...
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 效率...