9

ソースコードがない Java アプリケーションをデバッグする必要があります。Jetty サーバーでローカルに実行されています。JD-GUI を使用した逆コンパイルは正常に機能します。ソケット接続または共有メモリを介した JDB のアタッチも正常に機能します。

私が失敗するのは、ピースを一緒に結合することです。私は主に、JD-Eclipse プラグインとリモート デバッグを使用して Eclipse を試しました。デバッガーを実行中のプロセスに正常にアタッチする方法が見つかりませんでした。プロジェクトでソース コードとして利用できるアプリケーションの少なくとも一部があることを前提としているようですが、そうではありません。また、これは非常に大きなアプリケーション (200 MiB 以上の JAR ファイルと 500 以上の MiB のその他のもの) であるため、すべての逆コンパイルされたクラスからプロジェクトを構築し、これを実行することは、自動化が容易でない限りオプションではありません。

私が本当に必要としているのは、実行中のプロセスにデバッガーをアタッチし、逆コンパイルされたコードを表示してナビゲートし、ブレークポイントを設定し、変数とオブジェクトを検査できることです。コードを再コンパイルできるかどうかは問題ではありません。条件付きブレークポイントと式の評価があると便利です。

4

2 に答える 2

2

jd-eclipse とその拡張 jd-eclipse realignment fragment を組み合わせることで、おそらくこれを行うことができます。

JD-エクリプス

再配列フラグメント

これをインストールするプロセスは非常に簡単です。

  • JD-Eclipse サイトで提供されている手順に従ってJD-Eclipseをインストールします (プロセスは非常に簡単です)。
  • エクリプスを再起動する
  • ダウンロードrealignment.jd.ide.eclipse_1.0.2.jar
  • ファイルを \dropins にコピーします。
  • エクリプスを再起動する
  • Windows -> 設定に移動します
  • [一般] -> [エディタ] -> [ファイルの関連付け] に移動します
  • 「ファイル・タイプ」セクションで *.class を選択し、「関連付けられたエディター」セクションで「JD クラス・ファイル・エディターの再編成」を選択して、「デフォルト」ボタンをクリックします。
  • OK を押してデバッグを開始してください。
于 2013-11-07T18:00:42.183 に答える