2010-12-19 7 views
1

MacOS 10.6で動作するC++シングルスレッドプログラムがあります。それはコールカウントを取得していますが、時間情報は取得していません。MacOS 10.6のgprofでC++プログラムで呼び出しデータはありますが、タイミングデータはありません - なぜですか?

ここでは、出力の例です:

  0.00  0.00  9/31377020  __ZNSaISsEC1Ev [454] 
      0.00  0.00  9/31377020  __ZNSaISsED1Ev [314] 
      0.00  0.00  9/31377020  __Z12banner_stampRSt14basic_ofstreamIcSt11char_traitsIcEE [3960] 
      0.00  0.00  9/31377020  __ZStorSt13_Ios_OpenmodeS_ [14555] 
      0.00  0.00  9/31377020  __ZNSaIP13ifstream_lineEC1Ev [497] 
      0.00  0.00  9/31377020  __ZNSaIP13ifstream_lineED1Ev [321] 
      0.00  0.00  9/31377020  __ZNSt6vectorISsSaISsEE5beginEv [511] 
      0.00  0.00  9/31377020  __ZNSt6vectorIP13ifstream_lineSaIS1_EEC1ERKS2_ [510] 
      0.00  0.00  9/31377020  __ZNSt6vectorISsSaISsEEC1ERKS0_ [512] 
      0.00  0.00  9/31377020  __ZNSt6vectorIP13ifstream_lineSaIS1_EED1Ev [404] 
      0.00  0.00  9/31377020  __ZNSt6vectorISsSaISsEED1Ev [405] 
      0.00  0.00  144/31377020  __ZNK9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEdeEv [9475] 
      0.00  0.00  144/31377020  __ZN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEppEi [327] 
      0.00  0.00  144/31377020  __ZSt4findIN9__gnu_cxx17__normal_iteratorIPP13ifstream_lineSt6vectorIS3_SaIS3_EEEES3_ET_S9_S9_RKT0_ [296] 
      0.00  0.00  144/31377020  __ZNSt6vectorIP13ifstream_lineSaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPS1_S3_EE [251] 
      0.00  0.00  144/31377020  __ZNSt6vectorIP13ifstream_lineSaIS1_EE9push_backERKS1_ [316] 
      0.00  0.00  144/31377020  __ZNSt6vectorISsSaISsEE9push_backERKSs [317] 
      0.00  0.00  153/31377020  __ZNSt6vectorISsSaISsEE3endEv [312] 
      0.00  0.00  153/31377020  __ZN9__gnu_cxxneIPSsSt6vectorISsSaISsEEEEbRKNS_17__normal_iteratorIT_T0_EESA_ [294] 
      0.00  0.00  153/31377020  __ZN13ifstream_lineC1EPKc [4844] 
      0.00  0.00  153/31377020  __ZN13ifstream_lineD0Ev [4845] 
      0.00  0.00  162/31377020  __ZN16feature_recorder13fname_counterEiSs [229] 
      0.00  0.00 442461/31377020  __ZNSt6vectorIP13ifstream_lineSaIS1_EEixEm [12736] 
      0.00  0.00 442479/31377020  __ZNKSt6vectorIP13ifstream_lineSaIS1_EE4sizeEv [10022] 
      0.00  0.00 442605/31377020  __ZNSt6vectorIP13ifstream_lineSaIS1_EE5beginEv [113] 
      0.00  0.00 442605/31377020  __ZN13ifstream_line8nextlineEv [112] 
      0.00  0.00 442704/31377020  __ZStltIcSt11char_traitsIcESaIcEEbRKSbIT_T0_T1_ES8_ [14535] 
      0.00  0.00 6816415/31377020  __ZN9__gnu_cxx17__normal_iteratorIPP13ifstream_lineSt6vectorIS2_SaIS2_EEEppEi [92] 
      0.00  0.00 7258876/31377020  __ZN9__gnu_cxxneIPP13ifstream_lineSt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_ [87] 
      0.00  0.00 7259020/31377020  __ZNSt6vectorIP13ifstream_lineSaIS1_EE3endEv [91] 
      0.00  0.00 7828118/31377020  __ZNK9__gnu_cxx17__normal_iteratorIPP13ifstream_lineSt6vectorIS2_SaIS2_EEEdeEv [9445] [86]  
    0.0 0.00  0.00 31377020   __ZN16feature_recorder9recombineEv [86] 
      0.00  0.00  9/57   __ZN20feature_recorder_set13recombine_allEv [384] 

かなり奇妙な、ハァッ? 31,377,020がコールしますが、0時間が記録されます。

何が起こっているのか分かりませんか?

+0

vy32、ご存知ですか?gprofは10.5を動作させますか? – osgx

+0

ありますhttp://stackoverflow.com/questions/1101545/problem-with-gprof-on-os-x-program-is-not-of-the-host-architectureはコメントです「更新:gprof最新の開発者ツールを使用して、Mac OS X 10.6(Snow Leopard)で作業しています。最新のDevToolsを使用していますか? – osgx

+0

はい、私は最新のdevtoolsを持っています。ありがとう。 – vy32

答えて

2

gprofがSnow Leopardで正常に動作しなかったということを聞いたことがあります。解決策が見つからない場合は、sharkのような他のプロファイラを試してみてください。

+0

私はサメや他の開発ツールを試しました。漏れは魅力でしたが、他のものは一種の価値がないことが判明しました。 – vy32

+0

vy32、 'shark'はむしろ強力です – osgx

+0

gprofと同じように役に立つかもしれませんが、それは役に立つかもしれません。はい、実行中のプログラムをプロファイルすることができます。しかし、それは直接コールトレースではなくサンプリングによって行います。 – vy32

関連する問題