我需要计算给定代码行在执行过程中被命中的次数。我想通过IDE上的调试工具使用它,而不是代码或性能工具解决方案。
我已经使用YourKit来分析项目,并且不希望通过此工具进行线路呼叫。
我也不想使用代码(使用System.out.print和一个变量)来计算命中次数,因为我将在不同的分支上检查过程。
我已经检查了IntelliJ IDEA帮助。
我也看了这两篇文章:Debugging and counting breakpoint hitsCounting breakpoint hits
但没有一个回答我在寻找什么。
我目前正在使用IntelliJ的断点选项:Log to console
。
的数据
我在IntelliJ中使用断点选项的方式是,每次命中断点时,我都会收到一条日志消息,然后我必须计算消息的数量。
我想得到一个实际的点击数,这样我就不必计算邮件了。
如果有人知道通过IntelliJ实现这一点的简单直接的解决方案,我真的很感激。先谢谢你。
4条答案
按热度按时间jobtbby31#
Debugger视图中的Overhead选项卡有一个“Hits”列。您甚至不必启用 Suspend 或 Log to Console 来计算断点。参见帮助页面Monitor debugger overhead。
的数据
r6l8ljro2#
的数据
的
滚动到最后,注意行号
kzmpq1sx3#
DaSqy Stc的方法很好,但是当打印了其他日志消息或者想要单独跟踪多个断点时,它就不起作用了。
解决方案是保持选项“登录到控制台”并在控制台内单击,按[Ctrl]+[F]并搜索“Breakpoint reached at RemoveFromList.remove(RemoveFromList.java:38)”,它显示1/6。正确的号码是你想要的。
50few1ms4#
就像Abika说的,启用调试器窗格Overhead view ...
的数据
...让您看到断点的命中计数。
然而,在这种情况下,如果断点仅用于计数,则将断点设置为非停止通常会很有用。只需右键单击断点或在“断点”列表中选择它,然后删除“挂起:
的
这会使断点变为黄色:
的
然后,您就可以在调试模式下运行代码,而不必停止,除非您愿意。
与“变量”或“框架”视图不同,“开销”视图即使在调试结束后也仍然可用:
的
如果一个断点可能被命中数百或数千次,这可能是一个真实的的救星。可配置的断点条件和过滤器在这种情况下也非常有用。