findコマンドによって行われたシステムコールをトレースしたかった いくつかのパフォーマンスの問題をデバッグするために しかし、どうすればMac OS X Yosemiteでこれを行います。 FreeBSDでstraceが行うのと同様に、任意のプログラムのシステムコールをトレースするにはどうすればよいですか?特に、ファイルシステム関連の呼び出しのトレースに興味があります。
次のようにdtrussを使用できます
Sudo dtruss find ~/repo -depth 2 -type d -name '.git'
このユーティリティの マニュアルページ は、ツールの使用をニーズに合わせて調整するのに役立ちます。
MacOSの現在のバージョンでは、SIP(/usr/bin
)はトレースできません。
これを回避するには、実行可能ファイルのコピーをホームディレクトリに作成し、コピーをトレースします。
cp /usr/bin/find find
Sudo dtruss ./find …