2011-11-15 2 views
0

나는 DTrace을 배우고 있으며 매우 강력한 도구입니다. 그러나 한 가지 문제는 DTrace가 너무 많은 정보를 출력하고 그 중 대부분이 NS 클래스라는 것입니다.Objective-C 용 DTrace 출력을 필터링하는 방법은 무엇입니까?

하지만 내 질문에 어떻게 사용자 클래스에 적절한 접두사가없는 경우 시스템 클래스를 필터링 할 수 있습니까?

(이 주제에 대한 비슷한 스택 오버플로 문제가 있었다, 는 [어떻게 맥 OS X에서 DTrace를 사용하여 시스템의 방법 또는 시스템 프레임 워크없이 감지?]합니다.)

답변

0

의 DTrace가 Filename generation -like 구문을 사용합니다 프로브 이름을 지정하십시오. 예 : 대괄호 []을 사용하여 클래스 이름의 첫 번째 문자를 지정할 수 있습니다.

예. 모든 NS * 클래스 필터링하려면 :

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

을하지만 애플은 CA처럼 사용하는 각 접두사, IK 등을 위해 그것을 반복해야