AIX命令参考大全,卷 4,n - r

prof 命令

用途

显示对象文件概要文件数据。

语法

prof [ -t |  -c |  -a |  -n ] [  -o |  -x ] [  -g ] [  -z ] [  -h ] [  -s ] [  -S ] [  -v ] [  -L PathName ] [ Program ] [  -m MonitorData ... ]

描述

prof 命令为对象文件 Program(缺省情况下为 a.out)解释通过 monitor 子例程收集的概要文件数据。 它读取在对象文件 Program 中的符号表并将它与概要文件(缺省情况下为mon.out)相联系。prof 命令为每个外部文本符号显示花费在该符号地址和下一个符号的地址之间的执行时间的百分比、函数被调用的次数和每个调用的平均毫秒数。

注:来自于 C++ 对象文件的符号在它们被使用前修复(demangle)它们的名字。

要记录一个函数被调用的次数,必须使用带有 -p 标志的 cc 命令编译文件。 -p 标志使得编译器插入一个 mcount 子例程的调用到为你的程序的每一个重新编译的函数产生的对象代码中。 当程序运行时,每次一个父函数调用一个子函数,子函数调用 mcount 子例程来增加那个父子对的独特的计数器。 不带 -p 标志重新编译的程序并不插入 mcount 子例程,因而并不对调用它们的函数进行记录。

-p 标志也会使对象文件包含程序开始和结束时调用 monitor 子例程的特殊概要文件启动函数。 当程序结束时对 monitor 子例程的调用实际上是写 mon.out 文件。因此,只有程序从主程序显式退出或返回时才产生 mon.out 文件。

对象装入的位置和名称储存在 mon.out 文件中。如果不选择任何标志,prof 将使用这些名称。必须指定一个程序或使用 -L 选项来访问其它对象。

注:导入的外部例程调用,例如对共享库例程的调用,都有一个对本地 glink 代码的中间调用来建立对实际例程的调用。 如果在运行这个代码时计时器时钟到时,那么时间被记入一个称为 routine.gl 的子例程,这里 routine 是被调用的子例程。 例如,如果在 glink 代码中调用 printf 子例程时计时器到时,那么时间被计入 printf.gl 子例程。

标志

互斥标志 a、c、n 和 t 决定 prof 命令如何排序输出行:

-a 按递增的符号地址排序。
-c 按递减的调用数量排序。
-n 通过符号名按词汇排序。
-t 按递减的总时间的百分比排序(缺省)。

注:如果在同一命令中使用 a、c、n 和 t 标志中的多个,prof 命令仍然能够成功运行。prof 命令接受它在命令行上遇到的这些标志的第一个且忽略其它的。

互斥标志 o 和 x 指定如何显示每个受监视符号的地址。

-o 与符号名一起以八进制显示每个地址。
-x 与符号名一起以十六进制显示每个地址。

注:如果在同一命令中 -o 和 -x 标志同时使用,prof 命令仍然能够成功运行。prof 命令接受它在命令行上遇到的这两个标志的第一个且忽略另一个。

以任何组合使用以下标志:

-g 包含非全局符号(静态函数)。
-h 抑制报表上的标题的正常显示。这在报表要进一步处理时有用。
-L PathName 使用备用路径名定位共享的目标。
-m MonitorData 从 MonitorData 而不是 mon.out 中取得概要文件数据。
-s 在 mon.sum 中产生一个摘要文件。这在指定多个概要文件时有用。
-S 显示监视参数的摘要与在标准错误上的统计。
-v 抑制所有打印并通过绘图过滤器发送概要文件的图形版本到标准输出进行显示。 在绘图时可以给定下限与上限数字(缺省情况下是 0 和 100)使用相应更高一点的分辨率绘制一定百分比的选定概要文件。
-z 包含在概要文件范围内的所有符号,甚至在调用与时间都为 0(零)的情况下也这样。

示例

  1. 要按时间顺序不带报头的显示花费在每一个符号地址上的时间量,请输入:

    prof -t -h
  2. 下例示例获取用于在 /home/score/lib 目录中创建 runfile 文件的任意共享库的一个本地版本。 使用的数据文件将是 runfile.mon 而不是 mon.out 。
    prof -x -L/home/score/lib runfile -m runfile.mon

文件

mon.out 缺省概要文件。
a.out 缺省对象文件。
mon.sum 摘要概要文件。

相关信息

cc 命令、nm 命令和 gprof 命令。

exit 子例程、profil 子例程和 monitor 子例程。

《AIX 5L V5.2 系统用户指南:操作系统与设备》中的命令概述。

AIX 5L Version 5.2 General Programming Concepts: Writing and Debugging Programs 中的 Subroutines Overview。

AIX命令参考大全,卷 4,n - r相关推荐

  1. AIX 命令 more

    http://www.kuqin.com/aixcmds/aixcmds3/more.htm [ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ] AIX命令参考大全,卷 3,i ...

  2. window 命令行大全

    windows运行命令大全 winver 检查Windows版本 wmimgmt.msc 打开Windows管理体系结构(wmi) wupdmgr Windows更新程序 w脚本 Windows脚本宿 ...

  3. kubectl :命令技巧大全

    目录 kubectl 命令技巧大全 Kubectl命令概览 命令行提示 kube-shell kubectl的身份认证 Kubectl 自动补全 Kubectl 上下文和配置 Kubectl 启动-状 ...

  4. 批处理常用命令总结和WindowsXP下运行命令使用大全及优化

    关于批处理以及批处理常用命令的总结 [ 一.什么是批处理 ] 批处理文件图标 批处理(Batch),也称为批处理脚本.顾名思义,批处理就是对某对象进行批量的处理.批处理文件的扩展名为 bat . 目前 ...

  5. Windows命令行下常用网络命令解释大全

    命令行下常用网络命令解释大全 1.Arp 显示和修改"地址解析协议"(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表.该命令只有在安装了 TCP/IP 协议之后才可用. ...

  6. 《Linux命令行大全》学习笔记1——学习 Shell

    文章目录 前言 一.什么是Shell 二.导航 三.探索 Linux 系统 ls file less 四.操作文件和目录 通配符 mkdir cp mv rm ln 五.和命令打交道 六.重定向 标准 ...

  7. DISM命令应用大全

    DISM命令应用大全 DISM.exe [dism_options] {WIM_command} [<WIM_arguments>] DISM.exe {/Image:<path_t ...

  8. 容器虚拟化技术Docker(一)简介、安装、常见命令、数据卷、安装常规软件

    容器虚拟化技术Docker(一)简介.安装.常见命令.数据卷.安装常规软件 1.Docker简介 1.简介 Docker的主要目标是"Build,Ship and Run Any App,A ...

  9. Linux aptget 参数,ubuntu下apt-get 命令参数大全

    Ubuntu下apt-get 命令参数大全,供大家参考. apt-cache search package  搜索包 apt-cache show package 获取包的相关信息,如说明.大小.版本 ...

最新文章

  1. Gradify - 提取图片颜色,创建响应式的 CSS渐变
  2. linux sed错误sed: -e expression #1, unknown option to `s'解决办法
  3. 升级版记事本 Notepad++
  4. C语言程序设计 练习1-13
  5. verilog中级别到底是什么?级别的分类是什么???
  6. Scala教程之:Option-Some-None
  7. 在哪个Linux发行版上运行python,怎么在linux上运行python
  8. 查询sql语句是否使用索引
  9. Win7打印时文档被挂起的解决方法
  10. kettle分批处理大表数据_采用Kettle分页处理大数据量抽取任务
  11. 广西大学计算机硕导名单,导师-广西大学研究生院
  12. 文件I/O(不带缓冲)之read函数
  13. 性能优化之无阻塞加载脚步方法比较
  14. java怎么改运行图标,java修改进程图标
  15. ORACLE语句大全
  16. 论文写作流程图软件_[转载][强烈推荐]论文写作四助手(四个论文写作软件)...
  17. 问卷调查报告html,问卷调查报告格式优秀范文
  18. linux 鼠标滚轮 太快,Linux - 微软无线鼠标滚动过快问题
  19. 通信教程 | 概述第一、二、三代CAN总线
  20. 路由器为何会有特殊的默认路由(静态路由的一种特殊形式------默认路由)

热门文章

  1. mysql select内部原理_数据库SQL SELECT查询的工作原理
  2. nslookup type值_nslookup查询
  3. 计算机科学英文杂志,Journal of Computer Science Technology
  4. linux离线安装pyhs2,Python 下载及安装详细步骤
  5. python 打印表格边框_python设置表格边框的具体方法
  6. 点播同时并发怎么算带宽_如何搭建一个视频点播系统?
  7. 怎么往integer型数组添加数据_面试中经常问到的Redis七种数据类型,你都真正了解吗?...
  8. oracle基本结构
  9. phpcms漏洞总结
  10. TS基础2(泛型、枚举、元组)-学习笔记