我想使用valgrind进行一些分析,因为它不需要重新构建程序。 (我要概述的程序已经使用“-g”构建)
但是valgrind(callgrind)很慢......所以这就是我要做的事情:
我可以在Solaris上使用sun studio来做这种事情。 (使用dbx)。我只想知道是否可以使用valgrind(callgrind)做同样的事情?
由于
答案 0 :(得分:33)
您应该查看callgrind documentation,并阅读callgrind_control。
valgrind --tool=callgrind --instr-atstart=no your_server.x
callgrind_control -i on
callgrind_control -i off
答案 1 :(得分:10)
仅对某些功能进行分析时,您还可以从$pager.insertBefore($table).find('div.page-number:last').click();
标题中找到有用的CALLGRIND_START_INSTRUMENTATION
和CALLGRIND_STOP_INSTRUMENTATION
,并使用Doomsday's answer选项中的<valgrind/callgrind.h>
选项}}
答案 2 :(得分:4)
你没有说什么操作系统 - 我假设Linux - 在这种情况下你可能想看oprofile(免费)或Zoom(不是免费的,但你可以获得评估许可),两者都是其中包括抽样分析器,可以在不重新编译的情况下分析现有代码。缩放更好,更容易使用(它有一个GUI和一些很好的附加功能),但你可能已经在你的系统上有oprofile。