public static void premain(String args, Instrumentation inst)
,
在生成jar包中MANIFEST.MF文件中需要有Premain-Class: xxx.xxx
,xxx.xxx就是上面premain方法所在的类名
在java 的启动参数中添加 -javaagent:/jar包路径[=agentArgs] 这样定义了后jvm启动时,就会去加载javaagent中指定的jar包,查找MANIFEST.MF文件中Premain-Class属性的类,执行premain方法。 参考asm文档简单修改了下打印方法执行时间的demo blogdemo/javabasedemo/agentdemo at main · wbo112/blogdemo (github.com)
public static void agentmain(String agentOps, Instrumentation instrumentation)
,
在生成jar包中MANIFEST.MF文件中需要有Agent-Class: xxx.xxx (xxx.xxx就是上面agentmain方法所在的类名)
Can-Retransform-Classes: true
使用下面代码,将agent添加到指定java进程
vm = VirtualMachine.attach(pid); try { vm.loadAgent("D:\\tmp\\my-java-agent-1.0-jar-with-dependencies.jar", null); } finally { vm.detach(); }本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。