如何检测变量值的改变

80

如何轻松检测变量何时改变值?我希望程序在指定变量更改值时能够自动停止并进入调试器。目前我正在使用Eclipse的调试器。

3个回答

125

针对类或实例变量:

  1. 在大纲视图中,右键单击该变量
  2. 选择“切换监视点”
  3. 然后,在断点视图中,您可以右键单击结果条目
  4. 选择“断点属性”
  5. 取消选择“字段访问”。

2
如何在程序中的任何变量等于特定值时插入断点? - LJD
1
@JudeDesir 我非常确定这个功能在任何地方都不存在,它会导致极差的性能。 - Michael Borgwardt
在方法内部,是否有类似于局部变量的方法? - Tim Foster
我这些日子没用Eclipse,但我怀疑它存在。只要在改变变量的方法的每一行上设置断点就足够容易了。 - Michael Borgwardt
这个功能确实存在,但启用它会导致程序运行变得更慢。请谨慎使用。有时候很难看出一个字段可能被改变,特别是当包含它的对象被传递给其他方法时。 - Ocie Mitchell

23

或者,切换到变量声明的行上设置断点,然后右键单击生成的条目,选择“断点属性”,然后取消选择“字段访问”。


-3
我不确定Eclipse,但在IntelliJ IDEA中,您可以右键单击断点并添加条件,就像在if语句中一样。然后,如果其条件为真,则调试器仅在断点处暂停。
例如,在这种情况下,它只会在min == 4时停止。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接