首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gprof报告无时间累积

gprof报告无时间累积
EN

Stack Overflow用户
提问于 2009-06-23 06:01:22
回答 7查看 24.9K关注 0票数 28

我正尝试在一台运行osx10.5.7的机器上使用gprof分析一个C++应用程序。我以通常的方式使用g++进行编译,但是使用-pg标志,运行应用程序并尝试使用gprof查看调用图。

不幸的是,我的调用图包含所有时间列的全零。“调用”列中的值具有合理的值,因此它看起来像是被分析过的,但我对缺少其他数据感到困惑。

我所有的源文件都是以类似的方式编译的:

代码语言:javascript
复制
g++ -pg -O2 -DNDEBUG -I./ -ansi -c -o  ScenarioLoader.o ScenarioLoader.cpp

然后运行'ar‘将所有目标文件捆绑到一个库中。稍后,我按如下方式链接并运行gprof:

代码语言:javascript
复制
g++ -pg -lm  -o vrpalone vrpalone.o ../src/atomicprof.a lastbuild.o
./vrpalone
gprof gmon.out | less

有什么想法吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-06-24 02:12:39

我想我可能会分享我最近遇到的this Apple mailing list discussion

这里描述的行为正是我正在经历的。看起来gprof在OSX上已经崩溃了很长一段时间了。

我求助于Dave Rigby推荐的Shark。

谢谢!

票数 5
EN

Stack Overflow用户

发布于 2009-06-23 19:29:45

如果您的程序以非干净的方式终止,那么配置文件数据将不会被正确写入-您的程序是如何退出的?

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

票数 11
EN

Stack Overflow用户

发布于 2011-10-13 14:04:34

可能与OP的问题无关,有一种常见的场景是“没有累积时间”:如果您的代码调用内核或调用不是使用-pg编译的库,您将不会看到在那里花费的时间累积。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1030829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档