我想计算在测试运行期间执行某个函数或代码行的频率。 我的想法是在一行中使用GDB设置跟踪点,然后计算跟踪点被击中的频率。 任何人都可以告诉我是否/如何实现这一目标。 我能为跟踪点找到的唯一功能是获取寄存器的快照或保存变量的值。我想我的答案可能与passcount值有关,但我不知道如何实现我想要的。
如果需要更多信息或详细信息,请告诉我们,
谢谢, 戴夫
答案 0 :(得分:1)
低于question/answer提供了一个非常好的技巧来获得计数。我认为这样可以毫不含糊地解决你的问题 HTH!
答案 1 :(得分:0)
我从未使用过跟踪点,但您可以使用断点实现相同的功能。 只需定义一个断点,然后定义一个像这样的命令
command <breakpoint no.>
continue
end
这将导致GDB在断点被击中后继续简单地继续,但它仍会增加命中计数器。请注意,这会显着降低您的流程。 另一个选择是valgrind(callgrind子命令),如果你在Linux上。