Attach APIを使用して、仮想マシンに接続できます。 使い方を解説した記事はこちら
コード例を次に示します。
String agentJAR = "myAgent.jar";
VirtualMachine vm = VirtualMachine.attach (processid);
vm.loadAgent(agentJAR);
エージェントは、jar の名前です。
エージェント jar にはAgentが含まれており、インストルメンテーション API を使用して JVM とやり取りできます。
実行時に読み込まれるエージェントを作成するには、次のagentmain
ような関数を実装します。
public static void agentmain(String agentArgs, Instrumentation inst);
また
public static void agentmain(String agentArgs);
Instrumentationオブジェクトは、実行時にクラスを変更するために使用されますが、これはおそらく必要ありません。しかし、実行に必要なコードを agentmain に配置し、attach API を使用してターゲット JVM で実行できることを願っています。
幸運を!!