java / eclipse中的数据断点

时间:2010-11-03 10:24:53

标签: java eclipse breakpoints

使用VS开发C ++时,您拥有数据断点的这一惊人功能,当内存中某个地址的数据发生变化时会触发该功能。

在eclipse中开发java时有类似的功能吗?

谢谢!

编辑:关于“值更改时暂停”功能:我的印象是执行必须仍然到达断点所在的行。事情是我想让它在价值变化时随时触发。

6 个答案:

答案 0 :(得分:59)

您可以在字段上设置观察点:将光标放在声明字段的行上,然后选择菜单Run -> Toggle Watchpoint
或者只需双击该行的左边距设置断点。

添加后,您可以更改suspend on field accesssuspend on field modification等观察点的属性。只需右键单击左边距的观察点,然后选择Breakpoint Properties...

在watchpoint的帮助中搜索以获取更多信息:

  

watchpoint是一个特殊的断点,只要给定表达式的值发生更改,就会停止执行应用程序,而不指定它可能出现的位置。 ...

答案 1 :(得分:6)

使用变量视图:

  • 右键单击该字段并选择“切换观察点”,然后选择
  • 再次右键单击同一个实例并选择“Instance breakpoints ...”,它允许您将特定断点限制为给定实例。

请注意,性能可能不如内存硬件断点(例如VC ++中的那样)。

答案 2 :(得分:3)

在断点属性下,您可以选择使其成为条件,并选中单选按钮“值在值更改时暂停”。

答案 3 :(得分:3)

右键单击断点并选择Breakpoint properties

在首屏幕中,选择:Conditional -> Suspend when value changes

答案 4 :(得分:1)

最接近的是编辑断点属性。您可以添加条件以检查不同的值。另一种方法是在setter方法中添加断点。

您可以通过右键单击断点视图中已设置的断点来设置断点属性。

答案 5 :(得分:1)

据我所知,Eclipse中没有这样的通用功能。但是,您可以为现有断点提供一些条件:

在代码中的某处添加断点。然后,在“断点”视图中,右键单击它,然后选择“断点属性”。在面板中,您可以添加必须进行验证的条件,以使应用程序在此断点处停止(例如if (foo > 0))。

这不是你想要的,但我不认为Eclipse提供了这样的功能。