FreeBSD 7.
OpenSolarisからの強力な助っ人
DTrace は,
一方,
インストールと使い方の学習
DTraceを利用するときに最も役立つ資料は,
FreeBSDでDTraceを使うには,
# cd /sys/i386/conf # cp GENERIC MYCONF # echo "options KDTRACE_HOOKS" >> MYCONF # config MYCONF Kernel build directory is ../compile/MYCONF # cd ../compile/MYCONF # make depend; make WITH_CTF=1 -j 3; make install # shutdown -r now
とする。コンパイルの際,
# dtrace -n BEGIN dtrace: invalid probe specifier BEGIN: "/usr/lib/dtrace/psinfo.d", line 37: syntax error near "uid_t"
のようにエラーが出た人は,
無事再起動がおわりログインした後,
# kldload dtraceall This module (opensolaris) contains code covered by the Common Development and Distribution License (CDDL) see http://opensolaris.org/os/licensing/opensolaris_license/
ライセンス条項が表示されて,
【DTrace利用例】システムコールを解析する
DTraceでは,
特定のシステムコールが呼ばれた時に動く解析プログラムの基本的な形をリスト1に示す。
リスト1 DTrace スクリプトの基本形
/* 関数が呼ばれたとき */
syscall::システムコール名:entry
/ 絞り込み条件 /
{
解析プログラム本体;
}
/* 関数から戻ってきたとき */
syscall::システムコール名:return
/ 絞り込み条件 /
{
解析プログラム本体;
}
syscallプロバイダでシステムコールを監視でき,