<小时/>I just start learning
JVM TI
. About the java command: java -agentpath:../tool.dll javaClass, I know that there is aAgent_OnLoad()
method indll
and maybe it set some eventcallback method
. And I know the jvm executeAgent_OnLoad()
first and then executejavaClass
.And theAgent_OnUnLoad()
is also called by jvm.
那么问题来了,jvm如何知道何时调用Agent_OnUnLoad()方法
。首先,我认为执行javaClass
后jvm会调用Agent_OnUnload()
,但后来我放弃了这个想法,因为此时,也许dll
正在做某事,例如将数据写入磁盘。
So how jvm know it is the right time to call Agent_OnUnLoad() method?
最佳答案
没有定义用于卸载代理库的标准机制。 Agent_OnUnload
仅在 VM 终止之前、所有关闭 Hook 完成时调用。
关于java - 当执行关于“java -agentpath :c:/tool. dll javaClass”的Agent_UnLoad()方法时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40086966/