

tomcatを起動してEclipseでデバッグしていたところ、コメントを書いている行に一時停止してしまうことや、条件文でtrueでないのに条件文の中の処理に移っていたりと挙動がおかしいです。ブレークポイントをいったんすべて削除して再度デバック実行してみましたが変化はありません。何か対策はありますでしょうか。


CC BY-SA 3.0
2017-12-12T13:08:58.953
40228
2019-04-28T20:02:15.440
17348
question
java eclipse
eclipseでのデバッグ時の挙動がおかしい。


クリーンしてリビルドしてもダメでしょうか？  
ビルドだけだとたまに前のが残ったまま読み込まれてることがありますが…


CC BY-SA 3.0
2017-12-12T23:14:07.673
40233
2017-12-12T23:14:07.673
20906
40228
answer


Eclipseが参照するソースコード(をビルドしてできるクラス)と、実際にロードされているクラスのバージョンが異なっていると思われます。例えば、ソースコードはMyBatis
3.4.0で、クラスファイル(を含むライブラリ)はMyBatis
3.4.5になっているとか。バージョン間で差異のあるクラスは、デバッグ時に行数の対応が取れなくなる可能性があります。

行数の対応が取れないクラスに対して、次の2点を確認して下さい。

・Eclipseが参照しているソースコードはどこにあるのか。  
・Tomcatによりロードされたクラス(を含むライブラリ)はどこにあるか。

これが明確になったら、両者のバージョンを比較して下さい。バージョンが分からなければ(もしくは無ければ)、クラスファイルを逆コンパイルして、ソースコードと比較してみると分かると思います。


CC BY-SA 3.0
2017-12-13T13:48:01.903
40251
2017-12-13T13:48:01.903
21092
40228
answer