您的位置:首页 > 其它

gprof参数说明及常见错误

2013-12-05 23:38 232 查看

参数说明

l -b 不再输出统计图表中每个字段的详细描述。

l -p 只输出函数的调用图(Call graph的那部分信息)。

l -q 只输出函数的时间消耗列表。

l -e Name 不再输出函数Name 及其子函数的调用图(除非它们有未被限制的其它父函数)。可以给定多个 -e 标志。一个 -e 标志只能指定一个函数。

l -E Name 不再输出函数Name 及其子函数的调用图,此标志类似于 -e 标志,但它在总时间和百分比时间的计算中排除了由函数Name 及其子函数所用的时间。

l -f Name 输出函数Name 及其子函数的调用图。可以指定多个 -f 标志。一个 -f 标志只能指定一个函数。

l -F Name 输出函数Name 及其子函数的调用图,它类似于 -f 标志,但它在总时间和百分比时间计算中仅使用所打印的例程的时间。可以指定多个 -F 标志。一个 -F 标志只能指定一个函数。-F 标志覆盖 -E 标志。

l -z 显示使用次数为零的例程(按照调用计数和累积时间计算)。

The -pg option also works with a command that both compiles and links:

cc -o myprog myprog.c utils.c -g -pg

Note: The -pg option must be part of your compilation options as well as your link options. If it is not then no call-graph data will be gathered and when you run
gprof
you will get an error message like this:

gprof: gmon.out file is missing call-graph data
参考文献:http://sourceware.org/binutils/docs-2.16/gprof/Compiling.html

一般用法: gprof –b 二进制程序 gmon.out >report.txt

使用gprof来分析gmon.out文件,需要把它和产生它的应用程序关联起来:
gprof 可执行文件 gmon.out -p 得到每个函数占用的执行时间

gprof 可执行文件 gmon.out -q 得到call graph,包含了每个函数的调用关系,调用次数,执行时间等信息。

gprof 可执行文件 gmon.out -A 得到一个带注释的“源代码清单”,它会注释源码,指出每个函数的执行次数。这需要在编译的时候增加 -g选项。

参考文献:http://blog.csdn.net/stanjiang2010/article/details/5655143

/article/2022524.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: