简体   繁体   English

如何将参数传递给Java检测代理?

[英]How do I pass arguments to a Java instrumentation agent?

How do I pass arguments to a java.lang.instrument instrumentation agent? 如何将参数传递给java.lang.instrument检测代理? The documentation simply states: 文档简单地说明:

-javaagent: jarpath[=options] -javaagent: jarpath [= options]

What options can I select? 我可以选择哪些选项

To pass arguments to a Java agent, append them after the equals sign: 要将参数传递给Java代理,请在等号后附加它们:

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

The arguments are treated as a single string and passed to your premain method. 参数被视为单个字符串并传递给您的premain方法。 You are responsible for any further processing of the arguments, eg splitting on commas or separating key=value pairs. 您负责对参数进行任何进一步处理,例如,使用逗号分割或分隔key=value对。

public static void premain(String agentArgument,Instrumentation instrumentation){
  // args passed in 'agentArgument'
}

Note: if you don't pass any arguments to your agent (ie omitting the equals sign), the agentArgument argument will be null , rather than an empty string. 注意:如果您未向代理传递任何参数(即省略等号),则agentArgument参数将为null ,而不是空字符串。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM