Java 调试和计算断点命中数

Java 调试和计算断点命中数,java,eclipse,debugging,breakpoints,Java,Eclipse,Debugging,Breakpoints,有时,当我检查一个我没有编写的代码时,我会在调试模式下启动eclipse,并使用图形来理解程序。例如,如果它们是从数据库检索到的n个项目,那么知道一个服务中有n个已处理的项目可能会很有趣,等等 当使用循环时,事情会变得更加复杂:如果我们在“while”循环中,执行的数量没有定义,如果有替代方案,执行的流程会发生很大的变化 为此,我有时在代码的一部分中设置断点,并计算到达断点的次数 当然,这不是很方便,我想知道是否有办法计算断点命中的次数。我知道Eclipse可以在固定数量的点击后暂停执行,但我只

有时,当我检查一个我没有编写的代码时,我会在调试模式下启动eclipse,并使用图形来理解程序。例如,如果它们是从数据库检索到的n个项目,那么知道一个服务中有n个已处理的项目可能会很有趣,等等

当使用循环时,事情会变得更加复杂:如果我们在“while”循环中,执行的数量没有定义,如果有替代方案,执行的流程会发生很大的变化

为此,我有时在代码的一部分中设置断点,并计算到达断点的次数

当然,这不是很方便,我想知道是否有办法计算断点命中的次数。我知道Eclipse可以在固定数量的点击后暂停执行,但我只希望Eclipse在正常的执行流中计算它们

我很高兴听到你对此事的意见


谢谢

您可以在断点中添加条件。最简单的一个可以如下所示:

System.err.println("Passing checkpoint");
return false;
您还可以通过调用自己的静态类来扩展它:

org.foo.StaticCounter.COUNTER++;
System.err.println("Passing checkpoint " + org.foo.StaticCounter.COUNTER);
return false;

作为计算断点的替代方法,您可以使用分析工具,例如。我想我会一直在我的工具箱中保留一个StaticCounter类。可以帮助调试非对象程序代码:)谢谢!我认为您的答案是正确的,但我计算断点命中率,我更关心的是理解处理而不是分析性能。我通过评估一段代码应该执行多少次来确认一些直觉。但是,我将其用于复杂的非对象程序代码。无论如何,谢谢你的回答:)