易截截图软件、单文件、免安装、纯绿色、仅160KB

使用Gnu gprof进行Linux平台下的程序分析

O.S 使用Gnu gprof进行Linux平台下的程序分析
关 键 词:gprof callgraph 函数消耗的时间 Linux应用分析
阅读提示:本文介绍了如何使用Gnu gprof 对Linux平台下的现有程序进行优化分析和生成程序调用图。主要偏重于对生成和使用流程图作介绍。
Gprof 简介:
    Gprof功能:打印出程序运行中各个函数消耗的时间,可以帮助程序员找出众多函数中耗时最多的函数。产生程序运行时候的函数调用关系,包括调用次数,可以帮助程序员分析程序的运行流程。
    有了函数的调用关系,这会让开发人员大大提高工作效率,不用费心地去一点点找出程序的运行流程,这对小程序来说可能效果不是很明显,但对于有几万,几十万代 码量的工程来说,效率是毋庸置疑的!而且这个功能对于维护旧代码或者是分析Open Source来说那是相当诱人的,有了调用图,对程序的运行框架也就有了一个大体了解,知道了程序的“骨架“,分析它也就不会再那么茫然,尤其是对自己不 熟悉的代码和Open Source。费话不多说了,让我们开始我们的分析之旅吧!
Gprof 实现原理:
    通过在编译和 链接你的程序的时候(使用 -pg 编译和链接选项),gcc 在你应用程序的每个函数中都加入了一个名为mcount ( or “_mcount” , or “__mcount” , 依赖于编译器或操作系统)的函数,也就是说你的应用程序里的每一个函数都会调用mcount, 而mcount 会在内存中保存一张函数调用图,并通过函数调用堆栈的形式查找子函数和父函数的地址。这张调用图也保存了所有与函数相关的调用时间,调用次数等等的所有信 息。
Gprof基本用法:
1. 使用 -pg 编译和链接你的应用程序。
2. 执行你的应用程序使之生成供gprof 分析的数据。
3. 使用gprof 程序分析你的应用程序生成的数据。
4.  gprof产生的信息解释如下:
5.常用的Gprof 命令选项解释
-b不再输出统计图表中每个字段的详细描述。
-p 只输出函数的调用图(Call graph 的那部分信息)。
-q 只输出函数的时间消耗列表。
-E Name不再输出函数Name 及其子函数的调用图,此标志类似于 -e 标志,但它在总时间和百分比时间的计算中排除了由函数Name 及其子函数所用的时间。
-e Name 不再输出函数Name 及其子函数的调用图(除非它们有未被限制的其它父函数)。可以给定多个 -e 标志。一个 -e 标志只能指定一个函数。
-F Name 输出函数Name 及其子函数的调用图,它类似


相关文档:

linux pppoe

手头有个ep9315的板,今天突然想起跑一下adsl上网。晚上回来就开始搞。
从10点到现在,终于能够跑起来。
给大家借鉴一下。
1.编译内核,把ppp的那些选项选上。 (我用2.6.8.1的kernel,cirrus 的patch)
2.libpcap-0.9.1 这个包是pppd需要的。
./configure CC=arm-linux-gcc CFLAGS=-msoft-float --target=arm-linu ......

Linux下安全修复系统的Root密码

如果因为忘了root口令导致无法登录系统,请试用下面的方法来改忘记的root口令:
  方法一:
  1、重新启动系统。待系统启动到grub或lilo(现在一般是grub)引导菜单时,找到系统当前引导项(可以按方向键展开隐藏的菜单);
  2、把光标定位在该选项上按下字母“e”键进入这个引导的编辑状态;
  3、该选项 ......

linux下编译多个文件

例如:
/home/files文件夹下有文件main.c:
#include <stdio.h>
#include "tou.h"
void main()
{
a();
}
/home/files/common文件夹下有文件tou.h和shixian.c。
tou.h为:
extern void a();
若有多个shixian文件,比如shixian1.c, shixian2.c,都可以在tou.h中用extern声明出来。
shixian.c为:
#inclu ......

linux学习笔记(1)

0/vi的使用:
Ctrl + f  屏幕向前翻动一页(常用)
Ctrl + b  屏幕向后翻动一页(常用)
Ctrl + d  屏幕向前翻动半页
Ctrl + u  屏幕向后翻动半页
n<space>  按下数字后再按空格键,光标会向右移动这一行的n个字符。例如:20<space>,则光标会向右移动20个字符
0   &nbs ......

Linux AS 5.4安装oracle10g 方法

Oracle Database 10g Release 2 (10.2.0.1) Installation On Red Hat Enterprise Linux 5 (RHEL5)
一安装需求
1.swap 分区不低于2G
2.selinux 状态disable
3.物理内存不低于512M
系统组件
GNOME Desktop Environment
Editors
Graphical Internet
Text-based Internet
Development Libraries
Development Tools ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号