gprof on MacOS 10.6 with c++ program has call data but no timing data --- why?
I have a C++ single-threaded program running on MacOS 10.6. It's getting call counts but not time information.
Here's an example of the output:
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 __ZNSaIP13ifs开发者_C百科tream_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]
Pretty weird, huh? 31,377,020 calls through, but 0 time recorded.
Anybody know what's going on?
I have heard some time ago that gprof did not work correctly on Snow Leopard and symptoms were like you described. If you find no solution then you may try out some other profiler like shark.
精彩评论