我想在運行OSX 10.5.7的機器上用gprof剖析一個C++應用程序。 我以通常的方式用g ++編譯,但使用-pg標誌運行應用程序並嘗試使用gprof查看調用圖。gprof報告沒有時間積累
不幸的是,我的調用圖包含所有時間列的所有零。 「被調用」列中的值具有合理的值,因此它看起來像是一些特徵,但我對缺乏其他數據感到困惑。
我所有的源文件編譯以類似的方式:
g++ -pg -O2 -DNDEBUG -I./ -ansi -c -o ScenarioLoader.o ScenarioLoader.cpp
我然後運行「AR」到所有的目標文件打包成庫。 後來,我鏈接和運行gprof的像這樣:
g++ -pg -lm -o vrpalone vrpalone.o ../src/atomicprof.a lastbuild.o
./vrpalone
gprof gmon.out | less
任何想法?
** gprof **自1982年以來一直存在。從那時起,計算機和語言的設計取得了巨大進展,但我們對性能問題的共同理解進展甚微。我們仍然鬆散地談論** gprof **引入的相同概念,而我們並沒有試圖真正理解它們。 [這是一些新的想法的討論和介紹。](https://stackoverflow.com/questions/1777556/alternatives-to-gprof/1779343#1779343) – 2009-11-23 21:33:34