3

「.class」で終わるファイルの解決策をいくつか知っています。そこでは、ByteCode Outline プラグイン、Bytecode Visualiser プラグイン、さらにはクラスファイル用の組み込みの「javap のような」ビューアを使用できます。

しかし、デバッグ中に実行時に生成されたコードに対してこの機能が必要です! 私が達成しようとしているのは、実行中の clojure 呼び出しから実際に生成されたコードを確認することです。これは、ASM を使用してオンザフライでクラスを生成します。

4

2 に答える 2

1

Eclipse IDE を使用すると、JAD (Java 逆コンパイラー) とJADClipseプラグインを組み合わせて、デバッガーがリンクされたソースを持たないクラス ファイルを開こうとするたびに、その場でクラス ファイルを逆コンパイルできます。Eclipse がなくても、JAD を独立した実行可能ファイルとして使用できますが、ユーザーフレンドリーではありません。

JAD は、クラス ファイルが Java アセンブラでビルドされた場合でも、クラス ファイルの Java ソースを生成します。これが可能なのは、Java 言語が jvm の機能に十分に近いためです。これが機能しない唯一のクラス ファイルは、逆コンパイルを防ぐために難読化ツールを介して実行されたものです。

于 2013-01-23T09:25:09.903 に答える
0

JADとは別に、他のツールがあります。JD(Java Decompiler)と呼ばれます。また、Eclipseプラグインがあり、Java 5をサポートしているため、JADよりも少し優れています。JADはJava 4のみをサポートしています(2001年以降JADで開発が行われていないことを私が知っている限り)。Java6をサポートしていると思われるツールはDJJavaDecompilerですが、まだテストしていません。

そして、これらのツールのいずれかが実際にオンザフライで生成されたコードをサポートしているかどうかはわかりませんが、一方で、なぜそれらがサポートされるべきでないのかはわかりません。

于 2013-01-23T10:31:46.747 に答える