java - 实例变量变为 null

标签 java debugging

我正在开发基于 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/

相关文章:

java - 使用继承时,静态 block 和初始化 block 按什么顺序执行?

java - 如何在 Ant 中设置时间属性

java - TimerTask 和广播接收器 onReceive

java - 无法调试 Spring Boot 应用程序。断点总是会逃逸

java - GWT、Maven 和 AspectJ : RequestFactory validation for AOPed code?

java - 达尔维克lfm是什么意思

visual-studio - Visual Studio 加载符号

android - 线程更新不适用于选定的客户端

java - 在eclipse中调试具有多个类的java源文件: Source not found

html - 无法在网站上滚动