我正在尝试在运行 OSX 10.5.7 的机器上使用 gprof 分析 C++ 应用程序。我以通常的方式使用 g++ 进行编译,但使用 -pg 标志,运行应用程序并尝试使用 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
有任何想法吗?