如何在Eclipse Java调试器中跟踪变量的值
我想在Eclipse调试器中跟踪布尔(非布尔)变量的值
我需要知道它何时发生变化,为此,我需要在整个执行过程中跟踪它的价值;不仅是在范围内
更具体地说:我有一个类(让我们称之为myClass
),它有一个名为isAvailable
的布尔成员变量。我的程序实例化4或5个myClass
对象。我希望在执行结束时,我所有对象的isAvailable
值都设置为true
。与我的示例相反,myClass
对象中的一个将isAvailable
设置为false。我需要知道哪些方法(在很多方法中)将isAvailable
设置为false
# 1 楼答案
您有权访问类所在的代码吗
不要使用变量use setters和getter来访问它,而是在setter上放置一个断点
如果您只需要知道它何时更改,请放置一个条件断点,并使表达式类似于:
假设您的setter采用以下格式:
设置断点后,右键单击断点符号可以获得条件断点
以下是有关条件断点的常见问题解答: http://wiki.eclipse.org/FAQ_How_do_I_set_a_conditional_breakpoint%3F
# 2 楼答案
您可以在成员字段上设置观察点。观察点类似于断点,在访问或修改字段时暂停执行(您可以配置要停止的条件)。见http://www.vogella.com/articles/EclipseDebugging/article.html#advanced_watchpoint
# 3 楼答案
在设置
isAvailable
值的方法中放置断点当遇到断点时,您可以检查整个执行堆栈。您还可以检查对象,并确定与4或5个实例中的哪一个有关