【发布时间】:2011-12-03 19:28:53
【问题描述】:
我刚开始使用 gprof 并尝试生成调用图。 我正在使用 cmake 来设置我的 makefile,并且我正在设置 CMAKE_EXE_LINKER_FLAGS = -gp 来启用分析。我启用的唯一 cxx 标志是 -g。
然后我只需在我的 gmon.out 文件上调用 gprof。
生成的输出文件只有一个平面配置文件,其中调用、self ts/call 和 total ts/call 都是空的。
更重要的是,它不会生成调用图。 如果我在运行 gprof 时尝试显式提供 -q 以生成调用图,则会显示“文件缺少调用图数据”。
我不确定我在这里做错了什么,并希望得到有关解决此问题的指示。
谢谢。
【问题讨论】:
-
我很想知道是否有人向您推荐了 gprof,以及给出的原因。 You can do better than gprof.
-
gprof 没有被推荐给我。我只是在寻找一种快速简便的方法,而 gprof 对我来说就是这样。我确实看过你的帖子。坦率地说,我只是有点懒得通读:p 不过我会花时间这样做。
-
不同的分析器做不同的事情,而且它们并不都一样好。我在Zoom 中没有任何股份,但我认为,随着分析员的发展,它正在做正确的事情。也就是说,堆栈采样(不仅仅是程序计数器)、挂钟时间(不仅仅是未阻塞的 CPU 时间)以及按代码行(而不是函数/方法)报告百分比。
标签: c++ g++ gprof call-graph