在java中为特定对象(而不是该类型的所有实例)设置(方法)断点

One*_*ree 11 java eclipse debugging

假设我有一堂课

public class Foo
{
     public void doThing() { ...}
}
Run Code Online (Sandbox Code Playgroud)

说我有很多实例Foo,但我只对其中一个特别感兴趣.

我将如何"标记"该实例并设置一个"条件断点",doThings仅对标记的实例停止?是否有一种"内置"方式,尤其是Eclipse调试器,才能做到这一点?

目前,我必须在Foo类中手动创建一个布尔标志,默认情况下将其设置为false,并根据其中创建一个条件断点doThings.然后当我遇到感兴趣的对象时,我会true通过在Display窗口中执行setter代码来设置标志.

但很明显,这需要修改代码并添加一些样板,这并不总是可行的或者是好事.

Wil*_*ian 8

是的,Eclipse中有实例断点.

您必须在所需的类中放置一个公共断点,然后在变量面板中右键单击该实例并选择Instance Breakpoints.

实例断点

弹出窗口将询问您要为该实例激活哪个断点.

弹出选择

你选择并完成了!

完成