如何在Linux中使用gprof?

发布于 2024-11-25 18:50:14 字数 351 浏览 2 评论 0原文

我的文件 test.c 中有一个 C 代码。我必须使用 grof 对其进行分析。我使用了以下命令来执行此操作。

gcc -p -o 结果测试.c
./结果
gprof 结果

输出的一部分如下所示:

`Flat profile: 每个样本计为 0.01 秒。 无时间累计

% 累计自我 自我总计
时间秒秒调用Ts/调用Ts/调用名称`

问题是无论我使用什么复杂或简单的程序每个样本计数都不会从0.01秒开始改变。为什么会这样并且没有时间累积并显示在各个列下。

I have a C code in a file test.c .I have to profile it using grof.I have used the following commands to do so.

gcc -p -o result test.c
./result
gprof result

A section of the output looks as follows:

`Flat profile:
Each sample counts as 0.01 seconds.
no time accumulated

% cumulative self self total
time seconds seconds calls Ts/call Ts/call name`

The problem is no matter what complex or easy program I use each sample count doesn't change from 0.01 seconds.Why is that and no time is being accumulated and displayed under the various coloumns.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别想她 2024-12-02 18:50:14

您对 gcc 使用了错误的命令行选项。 -p 适用于不同的、较旧的分析器 - 对于 gprof,您需要 -pg

如果您仍然没有看到时间累积,则仅意味着您的程序没有消耗足够的 CPU 时间来注册 - gprof 使用基于样本的分析,并且它运行的时间不够长,无法让任何样本进行注册被采取。

You are using the wrong command-line option to gcc. -p is for a different, older profiler - for gprof, you need -pg.

If you still see no time acculmulated, it just means that your program didn't consume enough CPU time to register - gprof uses sample-based profiling, and it didn't run long enough for any samples to be taken.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文