我正在研究一些使用特定输入流读取器从文件系统读取的软件。该类有一个名为read()的函数,在某些驱动程序中用于读取文件。我想找出驱动程序的位置/源文件。如果我只知道read()的实现位置,我怎么能找到它的使用位置?
答案 0 :(得分:0)
您可以在项目的顶级目录上运行此命令,以查找read()的使用位置:
grep -n --recursive " read(" *
这将递归搜索字符串的所有文件"读取("并打印出它所在的文件,以及行号。
不幸的是,知道read()的实现位置不会直接告诉你它在哪里使用。方法的实现不依赖于它的使用位置,反之亦然。如果它是依赖的,那么Javadocs中的每个库都会有关于使用这种库的所有模糊程序的信息。
答案 1 :(得分:0)
假设您可以修改read()
,您可能会获得堆栈跟踪。抛出未经检查的异常或执行类似
StackTraceElement[] st = Thread.currentThread().getStackTrace();
System.out.println(Arrays.toString(st));