1

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     __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]

Pretty weird, huh? 31,377,020 calls through, but 0 time recorded.

Anybody know what's going on?

osgx
  • 90,338
  • 53
  • 357
  • 513
vy32
  • 28,461
  • 37
  • 122
  • 246
  • vy32, do you know, does gprof work it 10.5 ? – osgx Dec 19 '10 at 02:23
  • There http://stackoverflow.com/questions/1101545/problem-with-gprof-on-os-x-program-is-not-of-the-host-architecture is a comment "Update: It appears as though gprof is now working on Mac OS X 10.6 (Snow Leopard), using the latest Developer Tools." Do you use the latest DevTools? – osgx Dec 19 '10 at 02:25
  • yes, I have latest devtools. thanks. – vy32 Dec 22 '10 at 11:11

1 Answers1

2

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.

Öö Tiib
  • 10,809
  • 25
  • 44
  • I tried shark and the other dev tools. Leaks was a charm, but the others turned out to be kind of worthless. – vy32 Dec 19 '10 at 02:09
  • vy32, `shark` is rather powerful – osgx Dec 19 '10 at 02:22
  • It may be, but it didn't give me a useful call-tree the way gprof would. Yes, it lets you profile a running program. But it does it by sampling, rather than by direct call trace. – vy32 Dec 19 '10 at 02:39
  • @vy32: [FYI](http://stackoverflow.com/questions/1777556/alternatives-to-gprof/1779343#1779343) and [FYI](http://stackoverflow.com/questions/4387895/if-profiler-is-not-the-answer-what-other-choices-do-we-have/4390868#4390868). – Mike Dunlavey Dec 19 '10 at 22:04