1

我有一个在 MacOS 10.6 上运行的 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 次。

有人知道发生了什么吗?

4

1 回答 1

2

我前段时间听说 gprof 在 Snow Leopard 上无法正常工作,并且症状就像您描述的那样。如果您找不到解决方案,那么您可以尝试其他一些分析器,例如Shark

于 2010-12-19T01:44:38.873 回答