我正在开发基于 SWT 的 GUI 应用程序。我有一个私有(private)的对象变量。 在应用程序运行时,该变量有时会变为空。我想知道如何设置看门狗类型的调试,以便我知道哪个线程使其为空。
最佳答案
最简单且独立于 IDE 的方法是将变量封装在 setter/getter 对后面,并在代码监视中添加一条语句以设置值 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;
}
封装变量通常是一件好事,通常在调试上下文之外也很有用。
关于java - 实例变量变为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12020437/