问题标签 [gprof]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1695 浏览

c - gprof 命令没有创建正确的 out.txt

首先,我运行的是 MacOSX 10.7.1。我已经正确安装了所有 Xcode 4 和所有库,以使用 C 语言。

我在 shell 中运行 gprof 命令时遇到问题。我将逐步解释我在做什么以及我收到的输出。

步骤1:

输出(步骤 1):

第2步:

输出(步骤 2):

第 3 步:

输出(步骤 3):

第4步:

输出(步骤 4):

第 5 步:

输出(步骤 5):

最后。输出文件应显示如下内容:

它显示空白字段。

我在这里搜索,我没有发现任何有用的东西。我谷歌它,但同样的事情。

如果有人可以帮助我,我将不胜感激。

0 投票
1 回答
3303 浏览

c++ - 如何解释 gprof 输出

我刚刚用 gprof 分析了我的程序并得到了这个:

这让我感到困惑,因为它说它使用 = 运算符的时间为 100.01%。我猜对了吗,这意味着它只是一直在复制数据,并且允许程序使用多少内存有限制吗?

0 投票
2 回答
3670 浏览

c++ - gprof - 文件缺少调用图数据

我刚开始使用 gprof 并尝试生成调用图。我正在使用 cmake 来设置我的 makefile,并且我正在设置 CMAKE_EXE_LINKER_FLAGS = -gp 来启用分析。我启用的唯一 cxx 标志是 -g。

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

生成的输出文件只有一个平面配置文件,其中调用、self ts/call 和 total ts/call 都是空的。

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

我不确定我在这里做错了什么,并希望得到有关修复此问题的指示。

谢谢。

0 投票
2 回答
195 浏览

c++ - Gprof 结果:什么是“alloc_mmap”?

我的程序的短期运行结果如下:

ldd 的输出是

任何人都可以识别“alloc_mmap”吗?

0 投票
0 回答
1107 浏览

profiling - MinGW gprof 结果不准确?

我一直在 Linux(Ubuntu 11.04)和 Windows(7,MinGW 的最新版本)上使用 gprof 分析程序,每次在或多或少相同的数据集上使用相同的程序,并获得明显不同的结果。(很明显,它们会导致关于代码的哪些部分需要优化的不同结论。)

两个系统上的结果可能会合法地不同,但我还必须考虑一个结果集不准确并且应该被忽略的可能性,并且先验结果集更有可能是 MinGW,因为 gprof 的测试较少Windows 比在 Linux 上。该结论的一个更有力的论据是 Windows 上的结果看起来非常奇怪:

有很多空白,然后initparse,这是一个初始化函数,只调用一次,几乎什么都不调用,据报道已被调用了 1.45 亿次。

我是否应该忽略 Windows 的结果而只使用 Linux 的结果?或者在 Windows 上报告不影响时间百分比结果的呼叫次数是否存在问题?还是我误读了输出或以其他方式滥用了该工具?

0 投票
3 回答
742 浏览

c - GCC 编译选项语法

我正在尝试 gprof 我的程序。我想要逐行分析。但是,我似乎无法正确使用语法。我使用的是“make”而不是“gcc”,所以请只提供适合 make 的建议。如果您能给我完整的“make”语法,我将不胜感激。基于这个网站: http: //sourceware.org/binutils/docs/gprof/Output-Options.html [^] http://sourceware.org/binutils/docs/gprof/Line_002dby_002dline.html [^] 这是什么我正在输入:

输出是:

我需要选项“-l”、“-g”和“-pg”。

0 投票
1 回答
382 浏览

c - 了解 gprof 在 solaris 上的输出

我想学习 gprof.所以我从一个简单的程序开始。我在下面用c写了一个小程序:

我使用 -pg 选项编译了我的程序。我执行它以确保它工作正常。

然后我做了

这给了我创建的痛风文件。在痛风文件中,我可以看到以下信息。

我给了 60 秒的睡眠时间。我在 gprof 输出中没有看到 60 秒。我相信它可能隐藏在输出中。有人可以帮我理解gprof的输出吗?

0 投票
1 回答
181 浏览

c++ - 添加 grpof -pg 选项使我的多线程应用程序非多线程

我正在尝试分析我的多线程应用程序的性能。

所以我在编译时添加了“-pg”选项。

我在线程池中使用固定数量的线程:如果有 4 个 CPU 内核,则将有 12+1 = 13 个线程在运行。

令我大吃一惊的是,在我添加“-pg”选项后,只有一个线程在运行,而其他线程根本没有运行(top命令中的状态“S”)。

那么有什么解决方案吗?

这有什么关系: http ://sam.zoy.org/writings/programming/gprof.html

谢谢。

彼得

0 投票
1 回答
569 浏览

c - 如何强制使用“-pg”编译的程序在仍在运行时转储其统计信息?

我正在使用非开源库在 C++(g++) 中开发。每次我运行程序时,lib 都会崩溃(它会双重释放一些内存)。

我的程序现在可以了。但这不利于分析。我使用 -pg 来分析程序。由于崩溃,不会生成“gmon.out”。所以我根本无法分析它。

问题: 如何分析“崩溃”程序(使用 gprof)。

PS。valgrind 可以分析崩溃的程序。

问候!

0 投票
0 回答
3318 浏览

c++ - g ++ gprof全局构造函数键控到静态成员

我在用 g++ 编译的 linux 上分析一个 c++ 应用程序。

在 gprof 输出中,我得到了一些重要的使用统计信息:

其中 _ZN4CGps14ms_OutputNamesE 是我的一个类的静态成员的错位名称。这是一个 std::strings 数组:

我有点惊讶,这不是在应用程序开始时构建一次。是否正在进行某种保护变量或第一次使用检查?我将如何优化这个?