【问题标题】:Bytebuddy - Arguments for agent premainBytebuddy - 代理 premain 的参数
【发布时间】:2020-02-16 14:58:58
【问题描述】:

我有一个如下的 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();
        }

}

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

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

我如何在这里传递参数?

【问题讨论】:

    标签: byte-buddy


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-22
      • 1970-01-01
      相关资源
      最近更新 更多