ばいとまんをeclipseで - byteman
2012/12/01
byteman
eclipse
java
osx
バイトコード
Javaです。bytemanです。
このプロジェクトの主目的は、ユニットテストとか、自動テストとか、テスト条件がシビアなテストを行えるためにするものなのかしら。
さて、僕の興味は、システムクラス?を触れるようなので、使ってみようというわけです。
禁断のjavaパッケージを触れるようなので、いろいろな調査に使えるかなというわけですね。
eclipse上で使用するのが楽そうなのでメモ
まず、実行したいクラスの、byteman.jarは、普通に、buildpathに追加しておきます。RunConfigurations...のVM argumentsに -javaagent:の指定と実行したいスクリプトを指定します。僕は、フルパスで指定しましたが、環境変数みたいの使えるかな。
指定した内容は、こんな感じ
-javaagent:/Users/nakawakashigeto/export/eclipse/workspace/workspace3/javafx/lib/byteman-download-2.1.0/lib/byteman.jar=script:/Users/nakawakashigeto/export/eclipse/workspace/workspace3/javafx/src2/a/doc-files/a.btm,boot:/Users/nakawakashigeto/export/eclipse/workspace/workspace3/javafx/lib/byteman-download-2.1.0/lib/byteman.jarjavaagentとscriptとbootを指定します。bootの指定は、自作クラスの場合はbootの指定がなくてもよいようですが、javaパッケージとかさわる場合は、bootにbyteman.jarを指定しておかないといけないようですね。bootに指定しておかないと、下記のエラーが発生しました。
Caused by: java.lang.NoClassDefFoundError: org/jboss/byteman/rule/exception/EarlyReturnException
まだ、動かせたという程度で全然活用していませんが、いろいろ試してみようと思うのでした。
: