Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

プロセストレースで使えるコマンド dtruss, filebyproc.d, fs_usage

464 views
Skip to first unread message

Yasushi Shinjo

unread,
Mar 26, 2010, 7:37:57 AM3/26/10
to
新城@筑波大学情報です。こんちには。

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 くらいに気楽なものが欲しいんだけど。

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

0 new messages