【发布时间】:2011-05-04 10:00:07
【问题描述】:
在使用 VS 开发 C++ 时,您可以使用数据断点这一惊人的功能,当内存中某个地址的数据发生变化时触发。
在eclipse中开发java的时候有没有类似的功能?
谢谢!
编辑:关于“值更改时暂停”功能:我的印象是执行仍然必须到达断点所在的行。问题是我希望它在值更改后立即触发。
【问题讨论】:
标签: java eclipse breakpoints
在使用 VS 开发 C++ 时,您可以使用数据断点这一惊人的功能,当内存中某个地址的数据发生变化时触发。
在eclipse中开发java的时候有没有类似的功能?
谢谢!
编辑:关于“值更改时暂停”功能:我的印象是执行仍然必须到达断点所在的行。问题是我希望它在值更改后立即触发。
【问题讨论】:
标签: java eclipse breakpoints
最接近的事情是编辑断点属性。您可以添加条件来检查不同的值。另一种方法是在 setter 方法中添加断点。
您可以通过在断点视图中右键单击已设置的断点来设置断点属性。
【讨论】:
在断点属性下,您可以选择使其有条件并选中单选按钮“值更改时暂停”。
【讨论】:
右键单击断点并选择Breakpoint properties。
在打开的屏幕中,选择:Conditional -> Suspend when value changes
【讨论】:
据我所知,Eclipse 中没有这样的通用特性。但是,您可以为现有断点提供一些条件:
在代码中的某处添加断点。然后,在“断点”视图中,右键单击它,然后选择“断点属性”。在面板中,您可以添加一个必须验证的条件以使应用程序在此断点处停止(例如if (foo > 0))。
这不是你想要的,但我不认为 Eclipse 提供了这样的功能。
【讨论】:
您可以在字段上设置观察点:将光标放在声明字段的行并选择菜单Run -> Toggle Watchpoint
或者只是通过双击该行的左边距来设置断点。
您可以在添加后更改观察点的属性,如suspend on field access 或suspend on field modification。只需右键单击左边距的观察点并选择Breakpoint Properties...
搜索 watchpoint 的帮助以获取更多信息:
观察点是一个特殊的断点,只要给定表达式的值发生变化,它就会停止应用程序的执行,而无需指定它可能发生的位置。 ...
【讨论】:
this是你要观察的实例。
使用变量视图:
请注意,性能可能不如内存硬件断点(例如在 VC++ 中)。
【讨论】: