私はDTraceを学んでいますが、これは非常に強力なツールです。しかし、問題の 1 つは、DTrace が出力する情報が多すぎて、そのほとんどが NS クラスであることです。
しかし、私の質問は、ユーザーのクラスに適切なプレフィックスがない場合、システム クラスをフィルター処理する方法です。
(このトピックには、[Mac OS X で DTrace を使用してシステム メソッドまたはシステム フレームワークを使用せずに検出する方法]という同様のスタック オーバーフローの質問がありました。)
私はDTraceを学んでいますが、これは非常に強力なツールです。しかし、問題の 1 つは、DTrace が出力する情報が多すぎて、そのほとんどが NS クラスであることです。
しかし、私の質問は、ユーザーのクラスに適切なプレフィックスがない場合、システム クラスをフィルター処理する方法です。
(このトピックには、[Mac OS X で DTrace を使用してシステム メソッドまたはシステム フレームワークを使用せずに検出する方法]という同様のスタック オーバーフローの質問がありました。)
DTrace は、ファイル名の生成に似た構文を使用して、プローブ名を指定します。[
たとえば、括弧とを使用して、クラス名の最初の文字を指定できます]
。
たとえば、すべての NS* クラスをフィルタリングする場合:
objc$target::[ABCDEFGHIJKLMOPQRSTUVWXYZ]*:entry (N is removed)
objc$target::N[ABCDEFGHIJKLMNOPQRTUVWXYZ]*:entry (S is removed)
ただし、CA、IK など、Apple が使用するプレフィックスごとに繰り返す必要があります。