跟踪文件句柄

时间:2020-03-05 18:54:07  来源:igfitidea点击:

我有一个使用log4j的大耳朵,并且有一个用于配置它的配置文件。在此配置文件中,没有提及某些日志文件,但是在日志文件夹中会生成除配置文件中指定的文件以外的其他文件。我已经搜索了(logger | log4j | log)。(properties | xml)的其他组合,但是在耳朵中包含的所有jar文件中都没有找到任何有希望的东西。如何跟踪正在创建这些额外文件的有害线程/类?

解决方案

回答

正式是SysInternal的,现在是Microsoft的Process Explorer
http://technet.microsoft.com/zh-cn/sysinternals/bb896653.aspx

"查找"菜单项->"查找句柄或者DLL ..."

回答

SysInternals可能无法帮助Java类IO。在写入这些日志时,尝试获取JVM的线程转储(例如,kill -3)。我们应该能够在堆栈跟踪顶部附近捕捉到一个用java.io包传递的线程。

回答

尝试在File类的构造函数以及mkdir和createNewFile方法中放置一个断点。通常,代码将使用File类创建其文件或者目录。我们应该将这些类的Java源代码包含在JVM中。

回答

-Dlog4j.debug添加到命令行,标准输出中将有关于如何配置的更多信息。