c++ - gprof 报告没有累积时间

标签 c++ macos unix gprof

我正在尝试在运行 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

有什么想法吗?

最佳答案

如果您的程序以非干净方式终止,则配置文件数据将无法正确写入 - 您的程序如何退出?

无论如何,我强烈推荐使用 Shark而不是 gprof - 它非常易于使用并且在几乎所有方面都优于 gprof - 并且不需要您重新编译程序。

关于c++ - gprof 报告没有累积时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1030829/

相关文章:

unix - 有什么方法可以知道何时安装了 crontab?

c++ - mysql简单数据库设计? (问答比赛)

C++——当我们使用 string(0) 时调用哪个 string 构造函数?

swift - keyEquivalent 与 Swift 中的非字母数字字符

macos - Snow Leopard (OS X 10.6) 中的 InputManager 插件

c - 使函数线程安全 : Thread-specific data vs mutex

c++ - 是否可以从 .sln 文件读取/检索 C++ 源代码?

c++ - 数组大小作为构造函数参数

mySQL 上的 mysql.user 表

c++ - gcc/ld : what is to -Wl, 动态链接中的-rpath 什么是静态链接中的-l 到-L?