私は、探す指示パフォーマンスの問題をデバッグするためしかし、Mac OS X Yosemiteでこれを行う方法がわかりませんでした。ストレースFreeBSD ではどうでしょうか? 特にファイルシステム関連の呼び出しのトレースに興味があります。
提案受け入れられた回答私にはうまくいきません。私が試したのはこれです:
cd ~
cp /usr/bin/find find
codesign --remove-signature ./find
sudo dtruss ./find …
エラー:
codesign --remove-signature ./find
sudo dtruss ./find
dtrace: system integrity protection is on, some features will not be available
dtrace: failed to execute ./find: Could not create symbolicator for task
ベストアンサー1
現在のバージョンの macOS では、SIP でカバーされるパスの下にある実行可能ファイル (など/usr/bin
) は追跡できません。
ホームディレクトリに実行可能ファイルのコピーを作成し、そのコピーをトレースすることで、これを回避できます。
cp /usr/bin/find find
codesign --remove-signature ./find
sudo dtruss ./find …
新しい実行可能ファイルからコード署名を削除する必要がありましたfind
。そうしないと、SIP はシステム ファイルにアクセスしていることを依然として認識します (クレジット: @Anmol Singh Jaggi)。