我有一个abc.jar文件,它有一些Java类。我没有它的源代码。我想获得在调试过程中被击中的类/方法的日志。我该怎么做?如何从.jar文件获取日志?
P.S - 我本来可以使用log4j,但我没有源代码。
我有一个abc.jar文件,它有一些Java类。我没有它的源代码。我想获得在调试过程中被击中的类/方法的日志。我该怎么做?如何从.jar文件获取日志?
P.S - 我本来可以使用log4j,但我没有源代码。
您在评论中声明您知道不使用任何日志记录框架。
在这种情况下,无法从中获取日志。
但是,你可以做的是使用调试器。所有的IDE都有调试器。这可以帮助您了解在使用它们时正在调用的类的状态。
哦,是吗?叹。 –
比方说,如果您有abc.jar并且它不使用任何框架进行日志记录,并且您没有任何源代码,如前所述。不,你不能以这种方式获得日志。
您需要使用分析工具,例如Java's hprof。这是一个很好的介绍分析。虽然功能不强,但这是一个好的开始。还有很多其他有用的分析工具。只需谷歌他们。
对于HPROF,CPU使用率取样型材的模式(CPU =样本)
e.g. javac -J-agentlib:hprof=cpu=samples Hello.java
和CPU使用时间配置文件(CPU =次)
e.g. javac -J-agentlib:hprof=cpu=times Hello.java
听起来像是你需要的东西。他们可以告诉你所谓的和多久。他们不会告诉你的是变量的状态。这是使用调试,因为日志不是一个选项。
你知道你的'abc.JAR'文件是否使用'slf4j'? –
不,那个abc.jar没有使用/实现任何日志框架。 –
尝试在命令行上运行你的jar。 – VedX