bsp; {
Console.WriteLine(frame.GetMethod().Name);
}
Console.Read();
}
}
两者输出的结果还是一样的,如下:
Main
_nExecuteAssembly
ExecuteAssembly
RunUsersAssembly
ThreadStart_Context
Run
ThreadStart
看来在控制台程序中也是由某个线程委托开始运作的
#4楼 2008-04-19 13:54 Yannic Yang 有个疑问
那假如过期的Method2调用了未过期的Mehtod3,未过期的Method3调用了DisabledObsoleteMethod()这种情况能否过滤呢?
一定需要用一个foreach判断堆栈上所有函数?
另外,不知道多线程情况下有没有
问题 #7楼 [楼主] 2008-04-19 20:58 Kingthy @Yannic Yang
如果是这种情况则只能一级级往上找了.
多线程也是没有问题的,因为StackFrame是表示当前线程(!!)的调用堆栈中的一个函数调用!l