質問: tomcatを起動してEclipseでデバッグしていたところ、コメントを書いている行に一時停止してしまうことや、条件文でtrueでないのに条件文の中の処理に移っていたりと挙動がおかしいです。ブレークポイントをいったんすべて削除して再度デバック実行してみましたが変化はありません。何か対策はありますでしょうか。
回答: Eclipseが参照するソースコード(をビルドしてできるクラス)と、実際にロードされているクラスのバージョンが異なっていると思われます。例えば、ソースコードはMyBatis 3.4.0で、クラスファイル(を含むライブラリ)はMyBatis 3.4.5になっているとか。バージョン間で差異のあるクラスは、デバッグ時に行数の対応が取れなくなる可能性があります。 行数の対応が取れないクラスに対して、次の2点を確認して下さい。 ・Eclipseが参照しているソースコードはどこにあるのか。 ・Tomcatによりロードされたクラス(を含むライブラリ)はどこにあるか。 これが明確になったら、両者のバージョンを比較して下さい。バージョンが分からなければ(もしくは無ければ)、クラスファイルを逆コンパイルして、ソースコードと比較してみると分かると思います。