2015-09-18 1 views
6

私は多くのコードがコンパイルされ、ソースがない大きなJavaプロジェクトで働いているIntellij Idea 14を使用しています。fernflowerを使って正しい行番号で逆コンパイルするには?

私の知る限り(eclipseがするように)Ideaがコンパイルされたコードでの検索を行うことはできませんが、それはfernflowerに-構築し、これはまた、コンパイル済みのコードをデバッグする可能性を与え使用して1つのファイルをコンパイルすることができます知っています。

アイデアと同じように、すべてのコンパイル済みコードを一度に逆コンパイルする方法はありますか?コンパイルされたソースでデバッグ機能が失われていない「プロジェクトとライブラリ」を検索することができましたか?

別のfernflowerオプションを使ってBytecodeviewerを使用しようとしましたが、デコンパイルされたソースを添付した後にデバッグが壊れていた(間違った行が表示された)

+0

デコンパイラが元の行番号を邪魔することはありません。 Eclipseで逆コンパイルされたソースを使って正しくデバッグできるかどうか驚いています。 – Amila

+1

日食についてはわからないが、Intellij Ideaはこの魔法をしている。 http://blog.jetbrains.com/idea/2015/02/debug-decompiled-code-with-intellij-idea-14-1/ – hahn

+0

本当に面白いです、ありがとう@hahn。 – Amila

答えて

0

OKは、このに関していかなるニュースは存在しないとして、私は、ビルドにIntellijfernflower逆コンパイラを使用して新しい*-sources.jarファイルにコンパイルされたコードとのjarファイルを逆コンパイルし、プロジェクトにソースを添付し、ほとんどのプラグインを作成しました。興味のある人は、fernflowerを使用して逆コンパイルコード内の行番号についての私の質問に答える更新 リポジトリ

プラグインジェットブレーンズにdecompile and attachプラグインを見てみることができます。私はIntellijfernflowerに 'decompiler.use.line.table'というフラグがあり、行番号を保持しています。

+0

この旗はどこですか?どのファイルですか? – KilleKat

+1

@KilleKatこのフラグの名前が変更されました。 Intellijのレジストリを開くと、 "decompiler"という単語を含むキーを見つけることができるはずです。最新のIDEAでは、これは "decompiler.dump.original.lines"と "decompiler.use.line.mapping"という名前です – hahn

3

私はOSX上で使用すると、次のファイルにこの設定を変更することが分かっ:

〜/ライブラリ/ Preferences/IntelliJIdea2016.1 /オプション/ Options.xmlを

次のプロパティを追加します。 :

<property name="decompiler.use.line.mapping" value="true" /> 
    <property name="decompiler.dump.original.lines" value="true" /> 
+2

またはIntellijのCmd + Shift + A - >レジストリ – hahn

関連する問題