我想生成一个简单的调用图,以便能够分析java中方法的执行流程。
因此,例如,如果在代码中我能够在多个方法调用中从方法X转到方法Y,那么我想生成一个调用图,它显示从方法X到方法Y的流程。
我尝试使用SOOT但是我没有设法获得这个必需的调用图。有谁知道我可以用来生成这样的调用图的API?我正在使用Eclipse,但我无法使用插件,因为需要在多个项目中使用此工具
非常感谢你的帮助
答案 0 :(得分:3)
我一直在研究最近可用于Java的静态分析库。以下是我遇到过的一些内容:
答案 1 :(得分:3)
这和我见过的API一样好:
答案 2 :(得分:0)
你可以在Y中抛出一个在X中捕获的异常,然后分析异常堆栈跟踪
// in X:
try {
do your calls ...
} catch (Exception e ) {
StackTraceElement[] elements = e.getStackTrace();
for (StackTraceElement e : elements ) {
// ... evaluate / print ...
System.out.println(e);
}
}
答案 3 :(得分:0)
JTracer是一个通过生成和可视化调用图来了解Java程序执行流程的工具。记录和可视化各种事件,如方法输入和方法退出。不需要修改代码。