我不知道怎么说这个,但我会试着解释一下我的情况。
我在Example1.java中定义了一个名为exampleFunction()的java方法。我有另一个java文件Example2.java。现在Example2.java以某种方式通过其他文件中定义的其他方法调用exampleFunction()等等,我似乎无法弄清楚exampleFunction()的调用位置和方式。
无论如何我可以让Example2.java完全不运行exampleFunction(),即使它被调用了吗?这将为我节省大量时间,试图找到调用函数的位置。
答案 0 :(得分:7)
在exampleFunction
的第一行,您可以打印堆栈跟踪并查看来电的来源:
for (StackTraceElement ste : Thread.currentThread().getStackTrace()) {
System.out.println(ste);
}
答案 1 :(得分:1)
为什么不在exampleFunction
中打印堆栈跟踪并检查它以查看谁正在调用该函数?
new Exception().printStackTrace();