如何使用stacktrace或反射来查找方法的调用者?

问题:

我需要找一个方法的调用者。是否可以使用堆栈跟踪或反射?

回答:

StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace()

根据Javadocs:

数组的最后一个元素表示堆栈的底部,这是序列中最近最少的方法调用。

A StackTraceElementgetClassName()getFileName()getLineNumber()getMethodName()
你必须尝试确定你想要的索引
(大概是stackTraceElements[1][2])。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How do I find the caller of a method using stacktrace or reflection?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

77 − 72 =