3

Eclipseデバッガーでブール(ブールではない)変数の値を追跡したいと思います。

いつ変更されるかを知る必要があります。そのためには、すべての実行を通じてその値を追跡する必要があります。範囲内にあるときだけではありません。

具体的にはmyClass、ブールメンバー変数が。というクラス(と呼びましょう)がありますisAvailable。私のプログラムは4つまたは5つmyClassのオブジェクトをインスタンス化します。isAvailable実行の最後に、すべてのオブジェクトの値がに設定されることを期待していますtrue。私の予想に反して、myClassオブジェクトの1つがisAvailablefalseに設定されました。(多くの)どのメソッドがisAvailablefalseに設定されているかを知る必要があります。

4

3 に答える 3

4

メンバー フィールドにウォッチポイントを設定できます。ウォッチポイントは、フィールドがアクセスまたは変更されたときに実行を一時停止するブレークポイントのようなものです (どの条件で停止するかを構成できます)。http://www.vogella.com/articles/EclipseDebugging/article.html#advanced_watchpointを参照してください。

于 2012-11-23T17:02:49.600 に答える
3

クラスが含まれているコードにアクセスできますか?

変数を使用する代わりに、セッターとゲッターを使用してアクセスし、セッターにブレークポイントを設定します。

いつ変更されるかを知る必要がある場合は、条件付きブレークポイントを置き、式を次のようにします。

available != this.available

セッターが次の形式であると仮定します。

public void setAvailable(boolean available){
    this.available = available;
}

ブレーク ポイントを設定したら、ブレーク ポイント シンボルを右クリックすると、条件付きブレーク ポイントを取得できます。

条件付きブレークポイントに関する FAQ は次のとおりです: http://wiki.eclipse.org/FAQ_How_do_I_set_a_conditional_breakpoint%3F

于 2012-11-23T16:15:00.457 に答える
0

の値を設定するメソッドにブレークポイントを設定しますisAvailable

ブレークポイントに到達すると、実行スタック全体をチェックできます。オブジェクトを調べて、4 つまたは 5 つのインスタンスのどれが関係しているかを判断することもできます。

于 2012-11-23T16:14:07.357 に答える