2009-04-26 13 views
5

CIL/MSILについては、コードをテキストエディタで記述し、ilasm/ildasmを使用してコンパイル/デコンパイルすることができます。ilasm/ildasmに対応するJavaバイトコード

Reflectorを使用して、.NETクラスによって生成されたCILを確認できます。

Javaの世界では、javap -cは逆アセンブルされたバイトコードを表示します。

Javaバイトコードをコンパイルするにはどうすればよいですか? (すなわち、Javaのilasm/ildasmに相当)。

JavaバイトコードをサポートするIDEはありますか?

IDEはデバッグ、つまりシングルステッピング/ブレークポイントなどをサポートしていますか?

+0

http://stackoverflow.com/questions/1451016/fail-safe-way-of-round-tripping-jvm-byte-code-to-text-representation-and-back –

答えて

5

Bytecode Outline plugin for Eclipse

あなたはorg.apache.bcel.util.BCELifierを見てみましょうASMまたはBCEL

を使用することができ、バイトコードで遊ぶためには、指定されたクラスを取り、(BCELプログラムに変換しますJavaの場合はもちろん)。 BCELを使用して特定のコードがどのように生成されるかを示します。

4

ジャスミン:

http://jasmin.sourceforge.net/

これは、Javaバイトコードのためのアセンブラです。上記のポスターはハンドコードJavaバイトコードがあまり有用でないかもしれないと指摘していましたが、JasminはJVMをランタイムとしてターゲットとするコンパイラのバックエンドとして使用されていました。したがって、コンパイラはJasminアセンブラ命令を出力し、JasminはそれらをJavaクラスに変換します。

関連する問題