byteman を使用して既存のコードを変更したいリモート テスト サーバーを実行しています。
実行時にカスタム ルール ファイルを使用してバイトマンをアタッチすることは可能ですか (開始時にルール ファイルを設定する必要がありますが、これはほとんどの場合柔軟ではありません)。
サーバーの起動時に -javaagent を追加せずに実行中のサーバーにアタッチすることは可能ですか?
byteman を使用して既存のコードを変更したいリモート テスト サーバーを実行しています。
実行時にカスタム ルール ファイルを使用してバイトマンをアタッチすることは可能ですか (開始時にルール ファイルを設定する必要がありますが、これはほとんどの場合柔軟ではありません)。
サーバーの起動時に -javaagent を追加せずに実行中のサーバーにアタッチすることは可能ですか?
非常に詳細なチュートリアルがあります。URL はhttps://community.jboss.org/wiki/ABytemanTutorial#how_do_i_install_the_agent_into_a_running_programです。
チュートリアルで述べたように、 bminstall.sh を使用して実行中の JVM にいつでも byteman エージェントをインストールできます。byteman エージェントをインストールした後、bmsubmit.shを使用して byteman スクリプトを JVM に送信できます。
例えば:
ステップ1:
bminstall.sh -h 192.168.0.1 -p 8080 -b -Dorg.jboss.byteman.transform.all 12345
上記のコマンドのパラメーター 12345 は、Java プロセス ID の pid です。
ステップ2:
bmsubmit.sh -h 192.168.0.1 -p 8080 -l abc.btm
これらのコマンドの詳細な使用法については、対応するコマンドのヘルプを参照してください。
さらに、プログラマーガイド (PDF) があります: http://downloads.jboss.org/byteman/2.1.3/ProgrammersGuide-2.1.3.1.pdf