11

私が直面している問題の 1 つは、jar ファイルとソース ファイルが一致しないことです。

そうしたいです:

  1. ソースとバイナリが一致しないときに通知される (Visual Studio でこのようなことができると思います...)
  2. 行単位ではなく関数単位でブレークポイントを設定します。たとえば、関数 foo() のエントリにブレーク ポイントを設定します。

私は主にEclipseを使用しています。そのため、Eclipse のソリューションが最も高く評価されますが、任意の IDE (またはコマンド ライン デバッガー) で十分です。ありがとう!

4

4 に答える 4

4

.class開発するときは、IDE によって保存されたファイルを使用してリンクするだけです。

プロジェクトが成長し始めて、 にリンクすることが本当に役立つようになった.jar場合は、jar を別のプロジェクトとして扱う方がよいでしょう。

于 2012-09-22T00:29:19.727 に答える
3

行ブレークポイントの代わりにメソッド ブレークポイントを使用します。メソッドの開始/終了時に停止するように設定できます。メソッド宣言を含む行の左側のエディター側をダブルクリックすると、それらを取得できます。

于 2012-09-22T05:19:32.797 に答える
3

Eclipseの[プロジェクト]タブに移動してから

  • クリーンをクリック: Project->Clean…</li>
  • [自動的にビルド] をクリックします: [プロジェクト] -> [自動的にビルド]
于 2017-05-05T06:28:08.903 に答える
1

デバッグ情報はソースファイルの行番号に限定されています...行が間違っているという警告があればいいと思いますが、それにはjar内に利用できると思うよりも多くのメタデータが必要になることに同意します...

ビルド プロセスを変更して、この課題に対処することを検討してください。これはあなたの質問に正確に答えているわけではありませんが、根本的な問題に対処する戦略が得られることを願っています.

デプロイ用の jar を生成するときに、バイナリ AND ソースを含む jar も生成します。ライブ サーバー上のスタック トレースのソース コードを調査するには、Eclipse で別のプロジェクトをセットアップし、バイナリ + ソース jar をクラスパスに配置します。ソース コードの場所を明示的に同じ jar に戻す必要がある場合があります (ただし、Eclipse はこれを自動的に行うと思います)。

次に、展開を行う際に (できれば展開スクリプトを使用して)、ワークスペース内の適切な場所にバイナリ + ソース jar のコピーを追加するだけです。

それがあなたのサーバーである場合、バイナリ+ソースjarをライブサーバーにデプロイすることを検討することもできます-そうすれば、いつでもソースにアクセスできます.

于 2012-09-22T01:34:28.443 に答える