如何生成Java调用图,基于Eclipse的解决方案


问题内容

我想分析和理解某个Java应用程序,并且我认为调用图将非常有用。如何生成一个?我正在使用Eclipse。


问题答案:

获取调用栈

1)如果您可以 调试 应用程序,则只需放置一个断点(双击代码的左边距),然后等待其停止。如果您不在,请转到Debug
Perspective,然后打开Call stack View / Panel。它具有调用堆栈:)

2)如果要在某个地方打印此堆栈跟踪,请使用Exception:

Exception aux = new Exception("I'm here"); // not for throwing!
aux.printStackTrace(); // if you want it in stdout

要么

Exception aux = new Exception("I'm here"); // not for throwing!
StringWriter sw = new StringWriter();
aux.printStackTrace(new PrintWriter(sw));
String result = sw.toString(); // if you want it in a string

获取方法参考

您可以通过右键单击“引用”,“工作区”来获取对方法的所有引用。它将搜索您当前打开的项目中的所有呼叫。非常非常有用。

对应用程序进行性能分析

(感谢那些回答了分析器选项的人)

Eclipse TPTP提供了概要分析:

http://www.eclipse.org/tptp/home/project_info/general/whatisTPTP.php