我正在研究一个我没有所有源代码的java应用程序。该应用程序基于spring框架,在启动时它会解析来自不同目录的大量xml文件。然后它创建了我想要禁用的给定xml内容的内部缓存,并在类中进行更改以在需要时读取xml内容并且不缓存它们。出于这个原因,我必须找出哪个类打开我的xml。
(如果我能找到它,那么我可以要求访问源代码,但在此之前我无法访问它。)
我对这个类有什么了解,它从不同的目录解析了很多xmls,所以文件名不会硬编码到类中。
我正在考虑使用反编译器对类文件进行反向工程,但是有很多,并且包层次结构太深,无法逐个执行。也许有一种方法可以使用eclipse插件或命令行工具一次反编译整个jar文件,但我不知道如何。无论如何,也许有一个更简单的解决方案。
有什么想法吗?
答案 0 :(得分:3)
这听起来像是调试器的工作。特别是 - 条件断点。
在eclipse中可以这样做:
FileInputStream(File)
中设置断点(几乎可以肯定这个类将用于读取文件)。arg0.getPath().endsWith("test.xml")
。