Java 在Eclipse中,是否可以定义一组断点并仅在给定事件发生后激发它们?

Java 在Eclipse中,是否可以定义一组断点并仅在给定事件发生后激发它们?,java,eclipse,debugging,breakpoints,Java,Eclipse,Debugging,Breakpoints,我想在两个紧循环中设置一组断点。。但我只想让他们在特定事件发生后开火 问题在于,所有这些断点都是在一个非常低级的模块中定义的,因此它们无法知道何时引发高级事件 如果我可以在高级代码中设置一个特殊的条件断点,这样在满足断点条件之后,它就可以从那一刻起启动程序中找到的任何其他断点,那就太完美了(不过,我并不特别关心这个高级断点) 有没有办法完成这样的事情?如果没有,如何规避这一限制?我想到的唯一方法是定义一个临时单例以保持状态,并使我的低级断点依赖于该单例的标志。您可以创造性地使用断言,但在Ecli

我想在两个紧循环中设置一组断点。。但我只想让他们在特定事件发生后开火

问题在于,所有这些断点都是在一个非常低级的模块中定义的,因此它们无法知道何时引发高级事件

如果我可以在高级代码中设置一个特殊的条件断点,这样在满足断点条件之后,它就可以从那一刻起启动程序中找到的任何其他断点,那就太完美了(不过,我并不特别关心这个高级断点)


有没有办法完成这样的事情?如果没有,如何规避这一限制?我想到的唯一方法是定义一个临时单例以保持状态,并使我的低级断点依赖于该单例的标志。

您可以创造性地使用断言,但在Eclipse中默认情况下它们是禁用的

下面是一个很好的链接,解释了如何启用断言:

以下是有关如何将其用于您的目的的更多信息:

从文章中:

Eclipse有一个非常有用的机制来中断异常。这是一个 不同类型的断点,在异常发生时触发 抛出,不管它是如何被捕获的。如果您正在使用 断言,我强烈建议在断言上设置断点 调试代码时失败


如果右键单击断点属性,您将看到大量选项


您在这里问了几个不同的问题

在回答“Q:我是否可以设置一个在某个事件发生时触发的断点”时,您可能需要查看“观察点”:

同一篇文章讨论了您的另一个问题的可能答案:“Q:…在满足断点条件后,它将从那一刻起启动其他断点…”

在同一篇文章中查找“断点属性”

“希望有帮助

附言: 下面是另一篇简短但非常好的文章:


可以肯定的是,唯一的方法是设置高级断点,然后在点击该断点时,设置低级断点。如果你不得不这么做,那就太糟糕了。@Russell:这正是我的问题。我肯定我要做很多次,所以这会变得很无聊。你能在触发事件的代码上设置一个断点吗?在这种情况下,您可以在那里使用断点来设置要由低级断点检查的属性。看,我不确定这是如何回答这个问题的。你可以找到一个高级条件,它可以通过
this.
session.getAttribute(…)
或以任何其他方式达到,然后你可能只需要添加条件,当条件满足问题时,调试器将中断,如OP中所述,断点属性本身对我没有多大帮助——低级模块无法访问高级信息,从而无法知道何时触发。