我是ByteBuddy的新手,正在尝试为在远程进程上运行的进程设置检测。
我的远程进程以-XX:+ StartAttachListener启动。
创建了一个简单的maven项目,在pom中包含以下内容。
净字节预算字节伙伴代理1.10.7净字节预算字节伙伴1.10.7
[使用premain方法创建了一个代理类。
公共类代理{
public static void premain(String args, Instrumentation instrumentation) {
System.out.println("Premain");
File file ;
try {
file = (new File("Agent.jar"));
ByteBuddyAgent.attach(file,"18467");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
问题:-
ByteBuddyAgent.attach不使用远程主机名。如何定义要附加的远程主机进程?否则,字节伙伴应该在运行Java进程的主机上运行。
以下示例将代理与被测试的jar一起运行。
java -javaagent:/path/to/agent.jar -cp jar-under-test.jar Foo.Main
如何将代理附加程序作为单独的进程运行以将Java代理附加到在远程主机上运行的Java进程?