2017年1月29日日曜日

Bytemanチュートリアル(日本語意訳)
Byteman を簡単に実行する方法はないの?

Byteman (http://byteman.jboss.org/docs.html)のチュートリアルを日本語意訳したものです。

Linux では、-javaagent オプションをラップした $BYTEMAN_HOME/bin/bmjava.sh を利用できます。java コマンドのように見えますが、 ルール・スクリプトをコマンドラインオプションで渡すと、-javaagent script:<ルールスクリプト> として付与してくれます。また、自動で byteman.jar ファイルを boot:<エージェント> オプションとして付与してくれます。
bmjava.sh を使うと前項のコマンドラインを簡素化することができるのです。-l オプションでロードするスクリプトを渡します。
 
-----
> bmjava.sh -l thread.btm org.my.AppMain2 foo bar baz
-----

Windows には bmjava.bat という同等のスクリプトが用意されています(Byteman 2.0.1 以降)。
こちらも同様にシンプルに実行できます。
 
-----
> bmjava -l thread.btm org.my.AppMain2 foo bar baz
 -----

スクリプト名で実行できるよう以下を path 環境変数に通しておいてください。
<Linux>
exprot path=$path:${BYTEMAN_HOME}/bin

<windows>
set path=%path%;%BYETMAN_HOME%/bin