Eclipse调试器可以通过getter / setter显示/设置“虚拟”字段吗?

时间:2013-03-18 18:49:57

标签: eclipse debugging

我们有一组包含许多“虚拟字段”的类,其中每个“字段”的实际存储是具有非明显索引的数组元素,并且“字段”始终由getter / setter访问。当显示这种对象时,显示“虚拟字段”看起来像普通字段但使用getters / setters进行访问会很不错。

详细格式化程序AFAICT并没有真正提供这样做的方法。

如果我甚至可以获得只读支持(没有设置者),那会有所帮助。

我希望(可能是徒劳)找到一个解决方案,我们可以使用某种配置文件或进程,甚至可能使用插件来为所有这些类设置它。

2 个答案:

答案 0 :(得分:1)

Logical Structures are what you need。所以我有这个班级

public class Something {

    public String[] fields;

    public Something(final String[] fields) {
        this.fields = fields;
    }
    public String first() {
        return fields[0];
    }
    public String second() {
        return fields[1];
    }
}

然后你可以进入偏好> Java>调试>逻辑结构,并使用相应的getter方法添加您的类和字段,如此

adding logical structure

这将导致调试窗口看起来像这样

Debug variables

如果没有,则确保选中Logical structure按钮(指向树结构的黄色箭头)

答案 1 :(得分:0)

我能想到的最接近的事情是实现toString(),以便虚拟字段的值以可读格式作为字符串的一部分返回。这可能无法扩展到许多“虚拟”字段,但它是一种有用的调试技术(通常)。在调试器中选择对象时,将显示其toString()结果。