要在JVM中调试类加载,我们可以使用参数-verbose:class
,但是......任何人都知道如何调试资源加载(例如属性文件)?
答案 0 :(得分:3)
我想您需要查看使用分析器。或者使用仪器界面的东西。
不确定它有多稳定,但有BTrace,这是DTrace的Java版本。
BTrace是Java平台的安全动态跟踪工具。 BTrace可用于动态跟踪正在运行的Java程序。 BTrace动态检测目标应用程序的类以注入跟踪代码(“字节码跟踪”)。跟踪代码用Java编程语言表示。
如果您在开发计算机上执行此操作,并且事件数(正在加载的资源)不是太频繁,您也可以在调试器中设置断点。
答案 1 :(得分:2)
资源以URL
提供。因此,我想在“纯”Java中执行此操作:安装将ClassLoader
复制到具有自定义URL
的版本的自定义URLStreamHandler
。将监控代码放在流处理程序中并转发到原始数据库。
答案 2 :(得分:2)
答案 3 :(得分:1)
答案 4 :(得分:1)
存在一些调试类加载问题的技术。以下是来自 JRebel创作者的优秀幻灯片,总结了这些技巧:Do you really get class loaders?