新城@筑波大学情報です。こんちには。

MacPorts/NFS と戦っていて、ファイル関連のシステムコールをト
レースするのにこんなコマンド使いました。MacOSX 10.6 Snow
Leopard です。10.5 にもあるみたい。

(1) dtruss

このコマンドは、前から知ってはいましたが、-n オプション
(name)がかなり使えるというのを今日発見して少しうれしかったで
す。端末を2枚開いて、片方で dtruss を実行します。

------------------------------------------------------------
# dtruss -n tclsh8.5
------------------------------------------------------------

もう片方で、目的のコマンド、たとえば port を実行します。それ
で、dtruss は、コマンドの名前を見てそれだけをトレースします。

dtruss は、-f オプションで子供を追跡してくれることにはなって
いますが、なんかうまく動きませんでした。MacOSX 10.6 では。
-n が使えたので良かったです。

(2) filebyproc.d, opensnoop

使い方は簡単で、ただ root で実行します。それで、全プロセスの
の open 関連の活動が表示されます。止まらないので、最後 ^C で
止めます。mds など関係ないものも出てくるのが、難。

(3) fs_usage

こちらは、-e で不要なプログラムを避けられます。

------------------------------------------------------------
fs_usage -f filesys -e xterm  -e luit  -e kterm -e sshd -e \
mds -e bash -e portmap -e prl_disp_service -e tee  -e launchd
------------------------------------------------------------

(4) その他

man -k dtrace するとけっこう出てきます。

root でないと使えないのが惜しい所。SunOS strace, Linux
strace くらいに気楽なものが欲しいんだけど。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\