java/eclipse中的数据断点 当你开发C++时,你会发现数据断点的惊人特性,当数据在内存中某个地址发生变化时触发。
在eclipse中开发java时是否有类似的特性 谢谢java/eclipse中的数据断点 当你开发C++时,你会发现数据断点的惊人特性,当数据在内存中某个地址发生变化时触发。,java,eclipse,breakpoints,Java,Eclipse,Breakpoints,在eclipse中开发java时是否有类似的特性 谢谢 编辑:关于“值更改时挂起”功能:我的印象是执行必须仍然到达断点所在的行。问题是,我希望它在值更改时立即在任何位置触发。最近的事情是编辑断点属性。您可以添加条件来检查不同的值。另一种方法是向setter方法添加断点 您可以通过右键单击断点视图中已设置的断点来设置断点属性。在断点属性下,您可以选择将其设置为条件并选中单选按钮“值更改时挂起” 右键单击断点并选择断点属性 在打开的屏幕中,选择:Conditional->Suspend when v
编辑:关于“值更改时挂起”功能:我的印象是执行必须仍然到达断点所在的行。问题是,我希望它在值更改时立即在任何位置触发。最近的事情是编辑断点属性。您可以添加条件来检查不同的值。另一种方法是向setter方法添加断点
您可以通过右键单击断点视图中已设置的断点来设置断点属性。在断点属性下,您可以选择将其设置为条件并选中单选按钮“值更改时挂起” 右键单击断点并选择
断点属性
在打开的屏幕中,选择:
Conditional->Suspend when value change
据我所知,Eclipse中没有这样的通用功能。但是,您可以为现有断点提供一些条件:
在代码中的某个地方添加断点。然后,在“断点”视图中,右键单击它,然后选择“断点属性”。在面板中,您可以添加一个必须验证的条件,以使应用程序在此断点上停止(例如if(foo>0)
)
这并不是您想要的,但我认为Eclipse没有提供这样的功能。您可以在字段上设置观察点:将光标放在声明字段的行上,然后选择菜单
Run->Toggle watchpoint
或者双击该行的左边距设置断点 添加监视点后,您可以更改其属性,如
suspend on field access
或suspend on field modification
。只需右键单击左边距的观察点,然后选择断点属性…
搜索“监视点”帮助以获取更多信息:
观察点是一个特殊的断点,当给定表达式的值发生变化时,它会停止应用程序的执行,而不指定可能发生的位置
使用变量视图:
- 右键单击该字段并选择“切换观察点”,然后
- 再次右键单击同一实例并选择“实例断点…”,这允许您将特定断点限制到给定实例
请注意,性能可能不如使用内存硬件断点(例如在VC++中)时好。谢谢,但如何准确地向要监视的对象提供对象或变量?在单选按钮下方的字段中,输入变量名称(类似于此.foo)。有自动完成功能。谢谢,但我如何为我要监视的对象提供对象或变量?请在下面的字段中输入。当然,这与变量改变时中断并不相同,但是如果程序经常通过瓶颈,那么可以在那里设置断点,理论上只有当某个值改变时才会中断。太好了!正是我需要的!这是有用的(而且我+1'ed),但它仍然不是问题的答案。此中断在该声明的任何实例上,而不是在特定实例上。我只有在字段不是final时才有watchpoint选项可用。如何观看对最终对象的访问?(我想知道何时向地图添加或从地图中检索项目。)这应该是另一个问题。。。但奇怪的是,对于Eclipse Mars,在最终变量(仅使用ArrayList和Path进行测试)上设置观察点没有问题,但是,无论是否为最终变量,这都不会观察保存在变量中的对象的内容-它只会观察变量本身的内容,也就是说,在您的情况下,如果map实例发生了更改。您可以在(散列)映射的相应方法上放置断点,并添加一个条件以检查
此
是否是您要监视的实例。此选项是否仍然存在?在Eclipse 2018-09(4.9.0)中,我只能在断点属性中设置线程过滤器。