剖析C代码
我正在尝试为我使用gperftools的代码生成分析(逐行源代码)。
gcc a.c -lprofiler -Wl,--no-as-needed -lprofiler -Wl,--as-needed
CPUPROFILE=out.ptof ./a.out
但
pprof ./a.out out.ptof --inuse_objects --lines --heapcheck --edgefraction=1e-10 --nodefraction=1e-10 --gv
Using local file ./a.out.
Using local file out.ptof.
No nodes to print
为什么pprof指出“没有要打印的节点”?
看起来可能有几个原因。
引用最有可能的(假设你的代码很轻):
如果您看到类似“没有要打印的节点”的消息,这只是意味着代码太快而无法进行分析 - 基本上,分析器甚至没有机会进行抽样。
和:
在默认模式下,“慢”路由将不会有分析数据,因为它使用的CPU周期很少(您会看到消息“No nodes to print”)。
所以你可能需要人为地减慢你的程序......
链接地址: http://www.djcxy.com/p/87953.html上一篇: profiling C code
下一篇: Can't analyse the output (the profile file) of gperftools profiler