关于这个主题的所有其他问题都没有解决我的问题
注射器:
VirtualMachine vm = VirtualMachine.attach(pid);
vm.loadAgent(new File("inject.jar").getAbsolutePath());
vm.detach();
inject.jar具有正确的清单和所有内容。注入代码:
public static void agentmain(String[] args) {
System.out.println("test");
// also tried: writing a file to an absolute location,
// and adding Instrument to the signature above
}
当我运行注入器时,我得到了标题中提到的错误。
inject.jar清单:
Manifest-Version: 1.0
Agent-Class: Main
Can-Redefine-Classes: true
Can-Retransform-Classes: true
我发现问题出在我的agentmain函数上,它的第一个参数是String[]
而不是String
。