スポンサーリンク

MONCONTROL(3) FreeBSD ライブラリ関数マニュアル MONCONTROL(3)

名称

moncontrol, monstartup − 実行プロファイルの制御

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

#include <sys/types.h>

int

moncontrol(int mode);

int

monstartup(u_long *lowpc, u_long *highpc);

解説

cc(1)−pg オプションでコンパイルした実行可能プログラムには、 gprof(1) 呼出しグラフ実行プロファイラの統計情報を収集するための関数呼出しが自動的 に組み込まれます。典型的なオペレーションの場合、プロファイル採取はプログ ラムの起動時に始まり、プログラム呼出しが終了したときに終わります。プログ ラムが終了すると、プロファイリングデータはファイル progname.gmon に書き込 まれ (progname はプログラムの名前)、 gprof(1) で結果が検査されます。

moncontrol() は、プログラムでのプロファイル取得を選択的に制御します。プロ ファイル取得は、プログラムが起動されると始まります。ヒストグラムティック 値と関数呼び出し回数の収集を止めるには moncontrol(0) を使用し、ヒストグラ ムティック値と関数呼び出し回数の収集を再開するには moncontrol(1) を使用し ます。この機能により、特定のオペレーションのコストが計測できます。プログ ラムの終了時には、 moncontrol() の状態に関係なく出力ファイルが作成される ことに注意してください。

−pg でロードしていないプログラムでも、プロファイルを取得するアドレスの範 囲を指定して monstartup() を呼び出し、プロファイリング統計情報を選択的に 収集することができます。サンプル抽出するアドレスの範囲は、 lowpchighpc で指定します。サンプル抽出される最下位アドレスは lowpc で、最上位 アドレスは highpc のすぐ下になります。出力の呼出しグラフに表示されるの は、この範囲のうち、 cc(1)−pg オプションでコンパイルした関数のみです が、実行時間が計測されるのは、このアドレス範囲のすべての関数です。プロ ファイル採取は、 monstartup() から戻ったときに始まります。

関連ファイル

       progname.gmon

実行データファイル

関連項目

cc(1), gprof(1), profil(2), clocks(7)

FreeBSD 10.0 June 4, 1993 FreeBSD 10.0

スポンサーリンク