2010-11-29 14 views
1

実行中に変数が新しい値を受け取っているかどうかを確認するためにコードをデバッグします。 何かによって値が変更されたら、それを見て停止させるにはどうすればいいですか?変数が値を変更するかどうかを調べる

CheckListがあり、selectedValuesにいくつかの値を設定しました。何らかの理由で、選択した値が消えています。

答えて

6

アウトラインビュー([ウィンドウ] - [表示] - > [アウトライン])を使用して変数を選択します。右クリックして[ウォッチポイントの切り替え]を選択します。変数のブレークポイントが作成されます。このブレークポイントを右クリックし、プロパティを選択し、 "フィールドの変更"チェックボックスのみを有効にします。

私は、メソッド内で宣言された変数に対してこれを行うことはできませんが、クラス変数またはインスタンス変数に使用できます。

+0

私はちょうどdownvoteについて興味があります。 –

0

値の条件付きでブレークポイントを使用できます。

+0

どこで値が変更されたのかわからない場合、どこでブレークポイントを設定しますか? –

0

これは私がthis youtube clipを見たいと思っていた時間です! 涼しいところで問題を解決する最善の方法です

0

値のセッターメソッドにブレークポイントを設定できます。

+0

セッターを使用せずに値を変更した場合はどうなりますか? :-) –

0

デバッガが役立つように見える場合。デバッグ時に問題が表示されない場合は、変更箇所を示すロギングを追加することができます。例えば

log.info("Changed "+changeDescription, new Throwable("HERE")); 
関連する問題