【发布时间】:2009-04-08 10:22:03
【问题描述】:
我用premain 方法编写了一个类,并在该方法中添加了一个ClassFileTransformer 到Instrumentation (Instrumentation.addTransformer())。
我已经使用
调用了一个应用程序java -javaagent:<path_to_agnet.jar> <application>
但是ClassFileTransformer.transform() 方法没有被调用。
我观察到正在调用premain。
我还观察到,如果我调用Instrumentation.retransformClasses(),则调用ClassFileTransformer.transform()。
在第一个定义 (Classloader.defineClass()) 时,transform() 方法未被调用。
有什么线索吗?
注意:如果有帮助,我可以发布源代码。
问候, 雷吉夫。
【问题讨论】:
-
感谢您的反馈。我刚刚将您的分析添加到我的条目中。您可以选择它作为官方答案,也可以发布您自己的条目并附上一些详细信息,然后选择那个作为官方答案。
标签: java instrumentation