2011-10-09 59 views
1

我刚刚开始使用gprof并试图生成调用图。 我使用cmake设置我的makefiles,并设置CMAKE_EXE_LINKER_FLAGS = -gp来启用分析。我启用的唯一cxx标志是-g。gprof - 文件缺少调用图数据

然后我只需在我的gmon.out文件中调用gprof。

生成的输出文件只有一个扁平的配置文件,在这个配置文件中,调用,自己的ts /调用和总的ts /调用都是空的。

更重要的是,它不生成调用图。 如果我尝试在运行gprof来生成调用图时显式提供-q,它会显示“文件缺少调用图数据”。

我不知道我在这里做错了什么,并希望得到这个固定的指针。

谢谢。

+0

我很想知道是否已经向您推荐gprof,以及给出的原因。 [你可以做得比gprof更好](http://stackoverflow.com/questions/1777556/alternatives-to-gprof/1779343#1779343)。 –

+0

gprof没有被推荐给我。我只是在寻找一种快速而简单的方法,gprof看起来像这样。 我确实看过你的帖子。坦率地说,我只是有点懒惰地阅读:p 然而我会花时间这样做。 – Vaidy

+0

不同的配置文件可以完成不同的事情,而且它们并不完全相同。我在[Zoom](http://www.rotateright.com/)中没有任何股份,但我认为,正像个人档案员去的那样,它正在做正确的事情。也就是说,堆栈采样(不仅仅是程序计数器),挂钟时间(不仅仅是CPU时间未被阻止),还有通过代码行(而不是函数/方法)报告百分比。 –

回答

0

用于分析的正确开关是-pg而不是-gp。这是你在做什么?

+0

好吧..我会假设是交换机,字符可以互换。 尽管如此,我调换了它们,仍然看不到调用图 – Vaidy

+0

在调用gprof之前是否执行过编译好的程序? – Dennis

+0

另外,你的程序是否包含任何功能?如果没有功能,'gprof'将不会输出任何有用的内容... – Dennis

0

链接时可能缺少-pg?