AIX命令参考大全,卷 4,n - r
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 | 按遞減的總時間的百分比排序(缺省)。 |
互斥標志?o?和?x?指定如何顯示每個受監視符號的地址。
| -o | 與符號名一起以八進制顯示每個地址。 |
| -x | 與符號名一起以十六進制顯示每個地址。 |
以任何組合使用以下標志:
| -g | 包含非全局符號(靜態函數)。 |
| -h | 抑制報表上的標題的正常顯示。這在報表要進一步處理時有用。 |
| -L?PathName | 使用備用路徑名定位共享的目標。 |
| -m?MonitorData | 從?MonitorData?而不是?mon.out?中取得概要文件數據。 |
| -s | 在?mon.sum?中產生一個摘要文件。這在指定多個概要文件時有用。 |
| -S | 顯示監視參數的摘要與在標準錯誤上的統計。 |
| -v | 抑制所有打印并通過繪圖過濾器發送概要文件的圖形版本到標準輸出進行顯示。 在繪圖時可以給定下限與上限數字(缺省情況下是 0 和 100)使用相應更高一點的分辨率繪制一定百分比的選定概要文件。 |
| -z | 包含在概要文件范圍內的所有符號,甚至在調用與時間都為 0(零)的情況下也這樣。 |
示例
文件
| 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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字典应用例子
- 下一篇: 一个AI设计的思考过程(旧文)