gprof 不显示呼叫信息
Posted
技术标签:
【中文标题】gprof 不显示呼叫信息【英文标题】:gprof Not Showing Call Information 【发布时间】:2018-06-29 17:49:24 【问题描述】:我使用 gfortran 编译器成功编译并运行了带有 -pg 标志的 Fortran 代码。 gprof 生成一个 gmon.out 文件。当我在文件上运行 gprof 并查看生成的 *.txt 文件时,我看到:
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls Ts/call Ts/call name
21.53 24.46 24.46 fcn_x
12.45 38.60 14.14 fcn_y
11.36 51.50 12.90 fcn_z
. . .
等等。大约 180 个函数。
调用列中调用信息为零,并且没有调用图。至少肯定会调用这些函数中的一个。我错过了什么吗?
感谢您的帮助。
【问题讨论】:
准确显示您是如何编译程序的会很有帮助。但猜测一下,包括 -g 有帮助吗? 通过函数指针调用的函数不会生成该信息。此外,动态库可能会带来困难。 @IanBush:尝试包括 -g,但无济于事。蒂姆,不幸的是,我的情况都不是。感谢您的建议。 【参考方案1】:愚蠢的错误 - 在编译语句中遗漏了“-pg”。仅链接。
【讨论】:
以上是关于gprof 不显示呼叫信息的主要内容,如果未能解决你的问题,请参考以下文章