0

私はDTraceを学んでいますが、これは非常に強力なツールです。しかし、問題の 1 つは、DTrace が出力する情報が多すぎて、そのほとんどが NS クラスであることです。

しかし、私の質問は、ユーザーのクラスに適切なプレフィックスがない場合、システム クラスをフィルター処理する方法です。

(このトピックには、[Mac OS X で DTrace を使用してシステム メソッドまたはシステム フレームワークを使用せずに検出する方法]という同様のスタック オーバーフローの質問がありました。)

4

1 に答える 1

0

DTrace は、ファイル名の生成に似た構文を使用して、プローブ名を指定します。[たとえば、括弧とを使用して、クラス名の最初の文字を指定できます]

たとえば、すべての NS* クラスをフィルタリングする場合:

objc$target::[ABCDEFGHIJKLMOPQRSTUVWXYZ]*:entry (N is removed)
objc$target::N[ABCDEFGHIJKLMNOPQRTUVWXYZ]*:entry (S is removed)

ただし、CA、IK など、Apple が使用するプレフィックスごとに繰り返す必要があります。

于 2011-11-16T19:18:05.177 に答える