2017-01-30 4 views
0

Java .jarは、デバッグフラグでコンパイルされていません。私はIDEを介してリモートデバッグでそれらを使用したいので、私はそれらを逆コンパイルし、ソースとしてプロジェクトに追加しました。時にはブレーキポイントがうまく動作しない、まったく動作しないこともあります。デバッグフラグでコンパイルされなかったデバッグ用のジャー

質問は、.jarをコンパイルしていないファイルを-gフラグでデバッグするのに最適な方法は何ですか。

答えて

0

これは、リモートデバッグコードが変更され、その変更がリモートデバイスに展開されていない場合にも発生します。簡単に言えば、jarのコマンドはソースの行番号と対応していません。

私よりもスマートな人は、難しい答えがあるかもしれませんが、私にとっては、jarファイルからデコンパイルして再コンパイルしたコードをデバッグしてデバッグしてください。

99.99%私は、コードがうまくいかない理由を知りたいだけの理由で、実際にjarファイルを実際に変更することに興味がありません。私がそのハードルを過ぎると、元の瓶を元に戻し、私のコードがまだ動作していることを確認します。これはa)(私がライセンスに違反していないことを確認するのに役立ちます)、b)プロジェクトを自分のコードに依存させない - 逆コンパイル/再コンパイルは潜在的に微妙な方法で動作を変更する可能性がある。

jarファイルの中には、ソースを逆コンパイルして見てライセンス違反とするようなライセンスがあることに注意してください。逆コンパイルと再コンパイルされたコードを永久に使用するつもりはないので、私は通常それについてあまり心配しませんが、しばらくそれを "見る"必要があります。 :)

+0

私は平易なソースコードを持っていません。そして、imが多くのエラーに直面しているjarファイルを再コンパイルするとき。このソフトウェアは、私のものではなく、ライセンスされています。私はちょうどそれを正しくdebuginに興味を持っています^^ – Jin

+0

jarファイルをデバッグする方法がわかりません。 javaファイル内の行番号。 –

関連する問題