0

我正在尝试为我使用 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 声明“没有要打印的节点”?

4

1 回答 1

0

看来可能 几个原因_

引用最有可能的(假设您的代码很轻):

如果您看到类似“没有要打印的节点”[...] 之类的消息,这仅意味着代码太快以至于无法对其进行分析 - 基本上,分析器甚至没有机会进行采样。

和:

在默认模式下,“慢”路由不会有分析数据,因为它使用的 CPU 周期很少(您会看到消息“没有节点可打印”)。

所以你可能需要人为地减慢你的程序......

于 2014-12-24T09:13:57.043 回答