【问题标题】:Debugging and counting breakpoint hits调试和计数断点命中
【发布时间】:2012-03-04 09:17:33
【问题描述】:

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

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

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

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

很高兴听到您对此的意见。

谢谢!

【问题讨论】:

    标签: java eclipse debugging breakpoints


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 聪明。我想我会一直在我的工具包中保留一个 StaticCounter 类。有助于调试非对象程序代码:) 谢谢!
    【解决方案2】:

    作为计算断点的替代方法,您可以使用分析工具,例如 here

    【讨论】:

    • 我认为你的回答是对的,但我计算断点命中,我更关心理解处理而不是分析性能。我通过评估我们应该在一段代码中执行多少次来确认一些直觉。但是,我将它用于复杂的非对象程序代码。无论如何感谢您的回答:)
    猜你喜欢
    • 1970-01-01
    • 2010-11-05
    • 2017-10-07
    • 2011-10-11
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多