是否有任何工具可用于记录运行java应用程序的所有方法调用?
例如
String str = "...";
String anotherString = str.trim();
应该记录下面的内容:
..method call trim() from class java.lang.String
答案 0 :(得分:5)
你需要的是一个分析器。
一些流行的个人资料是: JProfiler有不同的方法来进行方法调用记录,包括CPU和内存级别。
VisualVM是另一个
许多IDE(我知道Netbeans和Eclipse)都有自己可以使用的分析器。
答案 1 :(得分:3)
一种方法是使用AspectJ并编写拦截方法调用的建议。有一个如何执行“跟踪”记录in the programmer guide的示例。
答案 2 :(得分:1)
您可以使用@Loggable
中的jcabi-aspects注释,它使用简单的日志记录机制包装您要调试的所有方法:
@Loggable(Loggable.DEBUG)
public String load(URL url) {
return url.openConnection().getContent();
}
它会记录SLF4J。