2012-02-12 19 views
16

有时,当我检查一个代码,我没有写,我启动Eclipse在调试模式下,用数字来理解的程序。例如,如果它们是n从数据库检索到的项目,它可以是有趣的,知道有一个服务是ň加工项目等调试和计数的断点

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

为此,我有时会设置一个断点在代码的一部分并计算多少次,我们达到目标。

当然,这不是很方便,我不知道是否有一种方法来计算断点命中数。我知道Eclipse可以在一定数量的命中后挂起执行,但我只希望Eclipse在正常的执行流程中对它们进行计数。

我很乐意听听你的意见。

谢谢!

回答

18

您可以添加一个条件到您的断点。最简单的一个可能是这个样子:

System.err.println("Passing checkpoint"); 
return false; 

您也可以通过调用自己的静态类扩展它:

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

聪明。我想我会始终在我的工具包中保留一个StaticCounter类。可以有助于调试非对象程序代码:) 谢谢! – 2012-02-18 10:06:14

1

作为替代计数断点,你可以使用一个分析工具,例如作为一个here

+0

我认为你的答案是正确的,但我计算断点击数,我更关心理解处理而不是分析性能。我通过评估我们应该在一段代码中执行多少次来确认一些直觉。但是,我将它用于复杂的非对象过程代码。无论如何感谢您的回答:) – 2012-02-18 10:21:54