【问题标题】:How to make Eclipse debugger notify me when object of some class changes如何让 Eclipse 调试器在某些类的对象发生更改时通知我
【发布时间】:2018-04-21 01:35:28
【问题描述】:

我有一个类(即 A),它有很多继承自它的类,并且我在这个类中有一个受保护的变量(即 foo)。

有什么方法可以在每次某个对象更改此 var 时获得通知?

因为它是受保护的,任何从它继承的类都可以简单地在 A 类之外更改它的值(即

public class B extends A
{
    public void changeAFoo()
    {
        foo = 4;
    }
}

)

这是一个大项目,我不能简单地一个接一个地设置断点,我也不能在A类中设置断点,因为它需要在那里改变。

在这种情况下如何遵循这个 var 值?

谢谢!

【问题讨论】:

  • 除非它是静态的,否则我看不到问题所在。即使对于继承的实例变量,实例变量也是唯一的。

标签: java spring eclipse jsf


【解决方案1】:

使用“访问修改”在 foo 上创建 watchpoint

当访问或修改foo 时,您的程序将停止执行并激活调试视图。

例如:

【讨论】:

  • 我现在试过了,它似乎可以工作,但是对于某些方法 - 当我创建这个观察点并在 JSF 中进行更改时,站点屏幕冻结,日食恢复按钮被禁用,唯一能让一切顺利进行的就是按下“禁用断点”按钮。调试器不会进入任何行。
【解决方案2】:

在下一句中使用条件foo != 4 进行“条件”调试 然后调试器只会在 foo 不是 4 时停止。

通常,在大多数机器上,当您单击左窗格放置调试点时 - 您再次右键单击它以打开条件调试窗口,然后放置条件。

这可以帮助How to use conditional breakpoint in Eclipse?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 2016-10-22
    • 2020-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多