【发布时间】:2013-05-01 17:08:17
【问题描述】:
假设您收到了一个 Java Eclipse 项目。在这个项目中,有一堆类相互调用方法,传递参数并完成工作,因此项目中的类是相互关联的。
那么,您特别想了解一个类的工作原理。 Eclipse 中是否有一种方法可以通过其工具帮助我找出该特定类中每个方法的调用顺序?
我知道我可以在每个方法中执行System.out.println(),并通过监视控制台输出来确定顺序,但这对于真正的大类来说太耗时了。
还有其他方法吗?谢谢
【问题讨论】:
-
在调试模式下运行并逐步执行?
-
你怎么知道订单是固定的?没有
if语句和循环吗?当然,顺序会根据输入而改变。 -
一个有趣的article 使用 AspectJ 和 AOP 来做到这一点。
-
您可以查看 Eclipse 的 Call Hierarchy 和 References 选项,以便在手动检查代码时获得更多帮助。有关代码的详细运行时信息,您可以使用 stackoverflow.com/a/2582906/283084 中提到的 Aspect4J 来记录方法调用。