MacOS 10.6上的gprof与c++;程序有呼叫数据但没有计时数据——为什么? 我有一个C++单线程程序,运行在MaCMOS 10.6上。它得到的是通话次数,而不是时间信息
下面是一个输出示例:MacOS 10.6上的gprof与c++;程序有呼叫数据但没有计时数据——为什么? 我有一个C++单线程程序,运行在MaCMOS 10.6上。它得到的是通话次数,而不是时间信息,c++,osx-snow-leopard,gprof,C++,Osx Snow Leopard,Gprof,下面是一个输出示例: 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_
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]
很奇怪吧?31377020通电话,但记录了0次
有人知道发生了什么吗?我不久前听说gprof在雪豹身上不能正常工作,症状和你描述的一样。如果您没有找到解决方案,那么您可以尝试其他类似的探查器 我尝试了shark和其他开发工具。泄密是一种魅力,但其他的都是毫无价值的。vy32,
shark
的功能相当强大,它可能是,但它没有像gprof那样给我一个有用的调用树。是的,它允许您分析正在运行的程序。但是它是通过采样而不是直接调用跟踪来实现的。@vy32:and.vy32,你知道gprof是否可以使用10.5吗?有一条评论“更新:似乎gprof现在正在使用最新的开发工具在Mac OS X 10.6(Snow Leopard)上工作。”你使用最新的开发工具吗?是的,我有最新的开发工具。谢谢