GNU gprof 2.15.94.0.2.2を使用して、呼び出しサイクルの大きなC++プログラムのプロファイリングを行います。私はgprof's documentation indicatesとしてコールグラフの出力に以下のようなものを見ることが予想さ:gprofのコールグラフ出力に循環要約に呼び出し元がないのはなぜですか?
index % time self children called name
----------------------------------------
1.77 0 1/1 main [2]
[3] 91.71 1.77 0 1+5 <cycle 1 as a whole> [3]
1.02 0 3 b <cycle 1> [4]
0.75 0 2 a <cycle 1> [5]
0 0 6/6 c [6]
----------------------------------------
しかし、私の<cycle as a whole>
エントリのどれもが記載されている任意の発信者を持っていません。これらはすべて次のようなものです:
index % time self children called name
----------------------------------------------
[8] 65.6 259.55 5342.63 9334767+60122608 <cycle 2 as a whole> [8]
133.28 2051.45 12043564+74015448 foo <cycle 2> [14]
18.90 976.38 2379645 bar <cycle 2> [21]
...
-----------------------------------------------
私のサイクルはかなり大きいので、サイクル内の個々の機能を介して発信者をトレースすることは非常に困難です。
サイクル発信者が出力に表示されない理由とその表示方法を教えてください。
[元のgprof論文](http://docs.freebsd.org/44doc/psd/18.gprof/paper.pdf)の8ページの下部を読むと、著者はその再帰処理のために多くの有用性を主張する。 –