EN JA
MONCONTROL(3)
MONCONTROL(3) FreeBSD Library Functions Manual MONCONTROL(3)

名称

moncontrol, monstartup実行プロファイルを制御する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < sys/types.h>
#include < sys/gmon.h>

void
moncontrol( int mode);

void
monstartup( u_long lowpc, u_long highpc);

解説

cc(1) への -pg オプションを使用してコンパイルされた実行可能プログラムは、呼出しグラフ実行プロファイラ gprof(1) 呼び出しグラフの実行プロファイラのための統計を収集するための呼び出しを自動的に含みます。典型的な操作において、プロファイリングは、プログラムの起動時に始まり、プログラムが exit を呼び出しときに終わります。プログラムが終了するとき、プロファイリングデータは、ファイル progname .gmon に書き込まれ、次に結果を調査するために gprof(1) を使用することができます、ここで progname は、プログラムの名前です。

moncontrol() 関数は、プログラム内でプロファイリングを選択的に制御します。プログラムが開始されたとき、プロファイリングは、始まります。ヒストグラム (柱状グラフ) の度数と呼び出しカウントの収集を停止するには moncontrol( 0) を使用し、ヒストグラムの度数と呼び出しカウントの収集を再開するには moncontrol( 1) を使用します。この機能によって、特定の操作のコストを計測することができます。出力ファイルは、 moncontrol() の状態にかかわらずプログラムの終了時に生成されることに注意してください。

-pg でロードされないプログラムは、プロファイルされるアドレスの範囲で monstartup() を呼び出すことによってプロファイリング統計を選択的に収集します。 lowpchighpc 引数は、サンプリングされるアドレスの範囲を指定します。サンプリングされる最下位アドレスは、 lowpc で、最上位は、 highpc の直下です。 cc(1) への -pg オプションでコンパイルされた範囲の関数だけが、出力の呼び出しグラフに現れます。しかしながら、アドレス範囲のすべての関数は、継続された、それらの実行時間があります。プロファイリングは、 monstartup() から返ったときに始まります。

環境変数

次の環境変数は、 moncontrol の実行に影響します:
PROFIL_USE_PID
設定されるなら、プロセスの pid は、ファイル名に挿入されます。

関連ファイル

progname.gmon
実行データファイル

関連項目

cc(1), gprof(1), profil(2), clocks(7)
June 14, 2004 FreeBSD