2011-09-30 24 views
6

まずはMacOSX 10.7.1を実行しています。私はC言語で作業するために、Xcode 4とすべてのライブラリを正しくインストールしました。gprofコマンドが適切なout.txtを作成していません

シェルで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 
... 

そして、空白のフィールドが表示されます。

ここで検索したところ、役に立たなかったことは何も見つかりませんでした。私はそれを同じようにgoogleします。

私は非常に感謝しています。誰かが私を助けてくれたら助かります。

+0

を見ます/ questions/1777556/alternatives-to-gprof/1779343#1779343)。 –

答えて

10

gprofはOS Xでは動作しません。必要なシステムコールはいくつかのバージョンを前に削除されました。ユーティリティがまだ出荷されている理由は明らかではありません。代わりに、dtraceおよび/またはsampleを使用します。

関連する問題