SWT ベースの GUI アプリケーションに取り組んでいます。プライベートなオブジェクト変数が 1 つあります。この変数は、アプリケーションの実行時に null になります。ウォッチドッグの種類のデバッグを設定する方法を知りたいので、どのスレッドがそれをヌルにしているかを知るようになります。
1721 次
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 の場合、アクセスと変更のためのブレーク ポイントを設定できます。簡単な手順は次のとおりです。
- プライベート変数の行にフォーカスします。[実行] メニュー -> [ブレークポイントの切り替え] を選択します。(デフォルトのキー マッピングを使用している場合は、Ctrl+Shift+B を押すことができます)
- ブレークポイントを表示する [View by Window] メニュー -> [Show View] -> [Other...] ブレークポイント
- 切り替えた変数をクリックし、右クリックしてアクセスオプションのチェックを外します。変更のみを保持します。
- アプリをデバッグ モードで実行します。
変数の変更を監視できるはずです。
于 2012-08-18T17:22:28.420 に答える