如何在JAVA中获取所有被调用的方法

时间:2014-06-04 10:29:36

标签: java eclipse methods

我必须从开源软件中提取算法,以便将这些算法包含在另一个软件中。

因此,我想知道如何在启动其中一个算法时获取所有调用的方法......

我尝试在调试模式下运行它并逐步导航并记下我板上所有被调用的方法,但它很长...我正在使用eclipse,我想知道它是否可以自动完成。 / p>

2 个答案:

答案 0 :(得分:1)

一个快速而肮脏的方法,如果它是开源的话,就是在调用链中的“最深”函数中抛出一个异常,然后抓住它并使用printStackTrace;或者使它成为RuntimeException,你甚至不必捕获它,只需运行一次程序,就会为你打印callstack。

答案 1 :(得分:0)

不知道是否可以满足您的需求,但您可以使用VisualVm或JProfiler等分析器来跟踪您在应用程序中执行的所有方法调用,here您可以找到使用visualVm和JasperReport的示例,另一种方式可能定义一个方面(aspectJ或spring)来拦截方法调用并记录它你想看的here