Bytebuddy-代理主体的参数

问题描述 投票:0回答:1

我具有如下的主体,将代理附加到远程进程。

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();
        }

}

这里,我想传递进程ID和其他几个参数。反正有做到这一点。看起来只需要一个参数。

java -javaagent:/path/to/agent.jar -cp jar-under-test.jar Foo.Main

我如何在这里传递论点?

byte-buddy
1个回答
0
投票

您需要以您认为合适的任何方式对自变量进行编码。代替用于main的参数的空格,例如使用逗号,但例如通过将它们加倍来转义所有现有的逗号。在代理中,用单个逗号分隔,然后反转结果段的转义。

© www.soinside.com 2019 - 2024. All rights reserved.