3

我想在 Eclipse 调试器中跟踪布尔(不是布尔)变量的值。

我需要知道它什么时候发生变化,为此,我需要在所有执行过程中跟踪它的价值;不仅在范围内。

myClass更具体地说:我有一个带有布尔成员变量的类(我们称之为isAvailable. 我的程序实例化了 4 或 5 个myClass对象。我期望在执行结束时isAvailable,我所有对象的值都设置为true. 与我的预期相反,其中一个myClass对象已isAvailable设置为 false。我需要知道哪些(很多)方法设置isAvailable为 false。

4

3 回答 3

4

您可以在成员字段上设置观察点。观察点就像一个断点,当访问或修改字段时暂停执行(您可以配置要停止的条件)。请参阅http://www.vogella.com/articles/EclipseDebugging/article.html#advanced_watchpoint

于 2012-11-23T17:02:49.600 回答
3

您可以访问该课程所在的代码吗?

不要使用变量使用 setter 和 getter 来访问它,然后只需在 setter 上放置一个断点。

如果您只需要知道它何时更改,请放置一个条件断点并让表达式类似于:

available != this.available

假设您的设置器具有以下格式:

public void setAvailable(boolean available){
    this.available = available;
}

设置断点后,您可以通过右键单击断点符号来获得条件断点。

这是关于条件断点的常见问题解答: http ://wiki.eclipse.org/FAQ_How_do_I_set_a_conditional_breakpoint%3F

于 2012-11-23T16:15:00.457 回答
0

在为 设置值的方法中放置一个断点isAvailable

当断点被命中时,您将有可能检查整个执行堆栈。您还可以检查对象并确定涉及 4 个或 5 个实例中的哪一个。

于 2012-11-23T16:14:07.357 回答