http://www.pcdog.com/edu/linux/18/10/u231314_1.html http://www.pcdog.com/edu/linux/18/10/u231314_2.html http://www.pcdog.com/edu/linux/18/10/u231314_3.html 1. Compile source .c code for analysis, Create executable file:
>> gcc -pg test.c -o test2. Launch executable file, Create gmon.out
>> ./test3. Use gmon.out to analysis:
>> gprof -b test gmon.out | less
or: >> gprof -b test gmon.out | more4. 常用的Gprof 命令选项解释: -b不再输出统计图表中每个字段的详细描述。 -p 只输出函数的调用图(Call graph 的那部分信息)。 -q 只输出函数的时间消耗列表。 -E Name不再输出函数Name 及其子函数的调用图,此标志类似于 -e 标志,但它在总时间和百分比时间的计算中排除了由函数Name 及其子函数所用的时间。 -e Name 不再输出函数Name 及其子函数的调用图(除非它们有未被限制的其它父函数)。可以给定多个 -e 标志。一个 -e 标志只能指定一个函数。 -F Name 输出函数Name 及其子函数的调用图,它类似于 -f 标志,但它在总时间和百分比时间计算中仅使用所打印的例程的时间。可以指定多个 -F 标志。一个 -F 标志只能指定一个函数。-F 标志覆盖 -E 标志。 -f Name输出函数Name 及其子函数的调用图。可以指定多个 -f 标志。一个 -f 标志只能指定一个函数。 -z 显示使用次数为零的例程(按照调用计数和累积时间计算)。
English Reference:
--------附: vi使用方法:---------
vi 的三种命令模式 Command(命令)模式,用于输入命令 Insert(插入)模式,用于插入文本 Visual(可视)模式,用于视化的的高亮并选定正文 光标移动 当我们按ESC进入Command模式后,我们可以用下面的一些键位来移动光标; j 向下移动一行 k 向上移动一行 h 向左移动一个字符 l 向右移动一个字符 ctrl+b 向上移动一屏 ctrl+f 向下移动一屏 向上箭头 向上移动 向下箭头 向下移动 向左箭头 向左移动 向右箭头 向右移动 我们编辑一个文件时,对于 j、k、l和h键,还能在这些动作命令的前面加上数字,比如 3j,表示向下移动3行。 /# +Enter #为查找的内容 插入模式(文本的插入) i 在光标之前插入 a 在光标之后插入 I 在光标所在行的行首插入 A 在光标所在行的行末插入 o 在光标所在的行的下面插入一行 O 在光标所在的行的上面插入一行 s 用输入的文本替换光标所在字符 S 用输入的文本替换光标所在行 文本内容的删除操作; x 一个字符 #x 删除几个字符,#表示数字,比如3x dw 删除一个单词 #dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词 dd 删除一行; #dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行 d$ 删除光标到行尾的内容 J 清除光标所处的行与下一行之间的换行,行尾没有空格的话会自动添加一个空格。 #J 表示合并#(数字)行。 退出保存; 在命令模式下按 shift+: 文本底端出现冒号 :w 保存; :w filename 另存为filename; :wq! 保存退出; :wq! filename 注:以filename为文件名保存后退出; :q! 不保存退出; :x 应该是保存并退出 ,功能和:wq!相同 撤销操作 u命令取消最近一次的操作,可以使用多次来恢复原有的操作[1] U取消所有操作 Ctrl+R可以恢复对使用u命令的操作 复制操作 yy命令复制当前整行的内容到vi缓冲区 yw复制当前光标所在位置到单词尾字符的内容到vi缓存区,相当于复制一个单词 y$复制光标所在位置到行尾内容到缓存区 y^复制光标所在位置到行首内容到缓存区 #yy例如:5yy就是复制5行 #yw例如:2yw就是复制两个单词 如果要复制第m行到第n行之间的内容,可以在末行模式中输入m,ny例如:3,5y复制第三行到第五行内容到缓存区。 查找和替换 vi的查找和替换功能主要在末行模式完成: 至上而下的查找 / 要查找的字符串,其中/代表从光标所在位置起开始查找,例如:/ work 至下而上的查找 ?要查找的字符串 例如:? work 替换 :s/old/new用new替换行中首次出现的old : s/old/new/g 用new替换行中所有出现的old :#,# s/old/new/g用new替换从第#行到第#行中出现的old :% s/old/new/g用new替换整篇中出现的old 如果替换的范围较大时,在所有的命令尾加一个c命令,强制每个替换需要用户进行确认,例如:s/old/new/c 或s/old/new/gc 恢复文件 vi在编辑某一个文件时,会生成一个临时文件,这个文件以 . 开头并以 .swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除,我们在下次编辑时可以选择一下命令处理: O只读打开,不改变文件内容 E继续编辑文件,不恢复.swp文件保存的内容 R将恢复上次编辑以后未保存文件内容 Q退出vi D删除.swp文件 或者使用vi -r 文件名来恢复未保存的内容 posted on 2013-01-20 23:22 阅读( ...) 评论( ...)