如何检测变量何时更改值


78

如何轻松检测变量何时更改值?我希望每当指定变量更改值时,程序的执行就在调试器上中断。现在,我正在使用Eclipse的调试器。

Answers:


121

对于类或实例变量

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

2
当程序中的任何变量等于某个值时如何插入断点?
Jude Desir

1
@JudeDesir我很确定该功能在任何地方都不存在,这会导致性能下降。
Michael Borgwardt

方法中是否有类似的局部变量方法?
蒂姆·福斯特

这些天我不使用Eclipse,但我怀疑它是否存在。只需在更改变量的方法的每一行上放置一个断点就足够了。
Michael Borgwardt

此功能确实存在,但是启用它可能导致程序运行慢得多。谨慎使用。并不总是很容易看到在哪里可以更改字段,尤其是当包含该字段的对象传递给其他方法时。
Ocie Mitchell

23

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


-2

我不确定Eclipse,但是在IntelliJ IDEA中,您可以右键单击断点并添加条件,就像在if语句中一样。然后,调试器仅在其条件为真时才在断点处暂停。

例如,在这种情况下,仅当停止min == 4

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.