2014-12-24 63 views
0

我正在嘗試爲我的代碼使用gperftools生成分析(逐行源代碼)。C gperftools - 剖析C代碼

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: 「沒有節點打印」?

回答

0

看起來好像是theremightbeseveralreasons

引用最有可能的(假設你的代碼是光):

如果你看到這樣的消息「沒有節點打印」 [...] 它只是意味着該代碼是如此之快,它無法分析 - 基本上,分析器甚至沒有機會抽樣。

和:

在默認模式下,也將是「慢」的路線沒有分析數據,因爲它使用幾個CPU週期(你會看到消息「打印無節點「)。

所以,你可能需要你的程序人爲地放慢...

+0

即使我包括循環啞..我仍然得到同樣的輸出 – Prakash

+0

是否有任何的鏈接關係到你的問題? 你把什麼作爲「虛擬循環」? – Coconop

+0

我不確定,但現在每當我運行我得到「禁用分析器,因爲SIGPROF處理程序已被使用。」信息。假的lops只適用於從1到100000的循環計數 – Prakash