gprof命令不会创build正确的out.txt

首先,我正在运行MacOSX 10.7.1。 我已经安装了所有正确的,Xcode 4和所有的库,以使用C语言。

我遇到麻烦在shell中运行gprof命令。 我会一步一步解释我正在做什么和我收到的输出。

步骤1:

~ roger$ cd Path/to/my/workspace ~ roger$ ls 

输出(步骤1):

 queue.c queue.h testqueue.c 

第2步:

 ~ roger$ gcc -c -g -pg queue.c ~ roger$ ls 

输出(步骤2):

 queue.c queue.h queue.o testqueue.c 

第3步:

 ~ roger$ gcc -o testqueue -g -pg queue.o testqueue.c ~ roger$ ls 

输出(步骤3):

 queue.c queue.h queue.o testqueue testqueue.c 

步骤4:

 ~ roger$ ./testqueue ~ roger$ ls 

输出(步骤4):

 enqueue element 16807 head=0,tail=1 enqueue element 282475249 head=0,tail=2 enqueue element 1622650073 head=0,tail=3 enqueue element 984943658 head=0,tail=4 enqueue element 1144108930 head=0,tail=5 enqueue element 470211272 head=0,tail=6 enqueue element 101027544 head=0,tail=7 enqueue element 1457850878 head=0,tail=8 enqueue element 1458777923 head=0,tail=9 enqueue element 2007237709 head=0,tail=10 queue is full dequeue element 16807 dequeue element 282475249 dequeue element 1622650073 dequeue element 984943658 dequeue element 1144108930 dequeue element 470211272 dequeue element 101027544 dequeue element 1457850878 dequeue element 1458777923 dequeue element 2007237709 queue is empty gmon.out queue.h testqueue queue.c queue.o testqueue.c 

第5步:

 ~ roger$ gprof -b testqueue gmon.out > out.txt ~ roger$ nano out.txt 

输出(步骤5):

  GNU nano 2.0.6 File: out.txt granularity: each sample hit covers 4 byte(s) no time propagated called/total parents index %time self descendents called+self name index called/total children ^L granularity: each sample hit covers 4 byte(s) no time accumulated % cumulative self self total time seconds seconds calls ms/call ms/call name ^L Index by function name 

最后。 输出文件应该显示如下所示:

  % cumulative self self total time seconds seconds calls ms/call ms/call name 33.34 0.02 0.02 7208 0.00 0.00 open 16.67 0.03 0.01 244 0.04 0.12 offtime 16.67 0.04 0.01 8 1.25 1.25 memccpy 16.67 0.05 0.01 7 1.43 1.43 write 16.67 0.06 0.01 mcount 0.00 0.06 0.00 236 0.00 0.00 tzset 0.00 0.06 0.00 192 0.00 0.00 tolower 0.00 0.06 0.00 47 0.00 0.00 strlen 0.00 0.06 0.00 45 0.00 0.00 strchr 0.00 0.06 0.00 1 0.00 50.00 main 0.00 0.06 0.00 1 0.00 0.00 memcpy 0.00 0.06 0.00 1 0.00 10.11 print 0.00 0.06 0.00 1 0.00 0.00 profil 0.00 0.06 0.00 1 0.00 50.00 report ... 

它显示空白字段。

我在这里search,我什么也找不到。 我谷歌,但同样的事情。

我会非常感激如果有人能帮助我。

gprof在OS X上不起作用。它需要的系统调用在几个版本之前被删除。 目前还不清楚为什么公用事业仍在运送。 替代方案是使用dtrace和/或样本。

不需要在最后一行给gmon.out,给gprof -b testqueue> out.txt,参见http://www.network-theory.co.uk/docs/gccintro/gccintro_80.html以供进一步参考