2

SWT ベースの GUI アプリケーションに取り組んでいます。プライベートなオブジェクト変数が 1 つあります。この変数は、アプリケーションの実行時に null になります。ウォッチドッグの種類のデバッグを設定する方法を知りたいので、どのスレッドがそれをヌルにしているかを知るようになります。

4

3 に答える 3

5

これを行う最も簡単で IDE に依存しない方法は、変数をセッター / ゲッターのペアの背後にカプセル化し、値の設定を監視するステートメントをコードに追加することですnull

だった:

public MyObject obj;

への変更:

private MyObject obj;
public MyObject getObj() {
    return obj;
}
public void setObj(MyObject val) {
    if (val == null) {
        // Add a log debug statement, and set a breakpoint here
    }
    obj = val;
}

変数をカプセル化することは一般的に良いことであり、デバッグ コンテキスト以外でも役立つことがよくあります。

于 2012-08-18T16:58:12.283 に答える
0

1.Object Reference Variable特定のタイプのオブジェクトについて話していると思います。

その setter メソッドで値をチェックします。

例えば:

CustomObject cObject;

public void setObject(CustomObject o){


       if(o.equals(null)){


              // Save it in log, Sysout it... etc.
       }
        else{

              cObject = o;

         }

 }
于 2012-08-18T17:06:59.173 に答える
0

アプリのデバッグにEclipseを使用していると思います。

Eclipse の場合、アクセスと変更のためのブレーク ポイントを設定できます。簡単な手順は次のとおりです。

  1. プライベート変数の行にフォーカスします。[実行] メニュー -> [ブレークポイントの切り替え] を選択します。(デフォルトのキー マッピングを使用している場合は、Ctrl+Shift+B を押すことができます)
  2. ブレークポイントを表示する [View by Window] メニュー -> [Show View] -> [Other...] ブレークポイント
  3. 切り替えた変数をクリックし、右クリックしてアクセスオプションのチェックを外します。変更のみを保持します。
  4. アプリをデバッグ モードで実行します。

変数の変更を監視できるはずです。

于 2012-08-18T17:22:28.420 に答える