2017-10-16 19 views
0

Eclipse JavaデバッガをリモートJavaアプリケーションに接続しています。リモートJavaアプリケーションのクラスパスはクラスorg.example.Fooです。条件付きブレークポイントで解決できないクラスのコンパイルエラーを解決するにはどうすればよいですか?

条件付きブレークポイントは、コンパイルエラー(複数可)を持っている:コード

org.example.Foo.log("some message"); 
return false; 

のための条件付きブレークポイントを作成するときに私が言うエラーウィンドウを取得します。

理由:私はそれが動作クラスFooに静的メソッドを呼び出すために、条件付きブレークポイントにおける反射コードを使用する場合 org.exampleが

を解決することはできません。

私は、リモートJavaアプリケーションに接続するときに、異なるプロジェクトをデバッグ構成に使用しようとしましたが、何も試していませんでした。私はプロジェクトcontainig org.example.Fooを試して、私はまた、展開されているサーブレットを含むプロジェクトを試して、私は条件付きブレークポイントを設定したいと思います。

どのように条件付きブレークポイント内でクラスを使用できますか?

EDIT: 私が気づいたことは、条件付きブレークポイントエディタのコード補完機能は、実行中のアプリケーションでのみ日食にビルドパスに存在するいくつかのパッケージおよびクラスパスを提供することであり、また、任意のクラスを提供していません。コード補完候補として表示されたパッケージ

答えて

0

ここでの問題は、条件付きブレークポイントのコンパイル方法と、Eclipseプロジェクト間のアプリケーションの依存関係です。

このアプリケーションは3つのプロジェクトで構成されています。実行可能アプリケーションAを表すプロジェクトは、プロジェクトBCに依存しますが、プロジェクトBCは互いに依存関係がありません。条件付きブレークポイントは、プロジェクトBのクラスに対して作成されます。ただし、条件式で使用されるクラスはプロジェクトCにあります。

この設定では、プロジェクトBのコンテキストでコンパイルされたため、プロジェクトCについては認識されないため、ブレークポイント条件のコンパイルエラーが発生します。

リモートデバッグ構成で選択されたプロジェクトはこれに影響しません。また、条件付きブレークポイントのプロパティを使用して別のプロジェクトを使用することもできません。

関連する問題