2010-02-02 3 views
3

내가 여기 조언을 사용하여 Xcode 프로젝트에서의 DTrace 목표를 구축하기 위해 노력하고있어 :Mac OS X에서 DTrace를 어떻게 작성합니까?

http://osx86.boeaja.info/2009/10/building-xnu-kernel-on-snow-leopard/

을하지만 수 : libproc.m : 24 : 49 : 오류 : CoreSymbolication/CoreSymbolication.h : 그런 파일이나 디렉토리

내가 CoreSymbolication 개인 프레임 워크 실현, 그러나 저를 잘 DTrace를, 을 구축하기 위해 애플이 위해 어딘가에 사용할 수있는이 헤더를해야합니다? 누군가가 dtrace를 빌드하는 데 필요한 파일을 가리킬 수 있습니까?

+0

DTrace는 Snow Leopard의 표준 출하 커널을 기반으로합니다. 정확히 무엇을하고 싶니? – Yuji

+0

처음부터 다시 만들고 싶습니다. 나는 그것이 오픈 소스 (CDDL) 패키지로 거래의 일부분 인 줄 알았지 만 애플이 모든 것을 제공해야 할 필요는 없다. – JanePhanie

답변

0

아마도 알 수 있듯이, 애플은 다른 오픈 소스 프로젝트에서 가져온 커널의 일부만을 릴리스해야하고 커널 상단에 빌드하는 사용자 랜드 라이브러리는 포함하지 않아야합니다. CoreSymbolication/CoreSymbolication.h은 Obj-C의 사용자 공간 헤더와 비슷하게 들리므로 커널 DTrace 유틸리티를 사용하지 않고이 유틸리티를 빌드 할 수 있습니다. (비록 내가 아주 잘못 될 수있다.)

내가 사용자 랜드 dtrace(1m) 명령의 기호 식별에 사용되는 것 같아. 단지 우리가이 문제를 알아내는 데 도움이 할 수있는 도구 ... - D

# dtrace -n 'pid$target:CoreSymbolication::entry {}' -c 'dtrace -ln syscall::write:entry' 
dtrace: description 'pid$target:CoreSymbolication::entry ' matched 246 probes 
    ID PROVIDER   MODULE       FUNCTION NAME 
    147 syscall            write entry 
dtrace: pid 88089 has exited 
CPU  ID     FUNCTION:NAME 
    2 6538 CSSymbolOwnerGetRegionWithName:entry 
    2 5014 CSSymbolOwnerForeachRegionWithName:entry 
    2 5078  CSRegionForeachSymbol:entry 
    2 6495 CSSymbolicatorGetSymbolOwnerWithUUIDAtTime:entry 
    2 6493 CSSymbolicatorForeachSymbolOwnerWithUUIDAtTime:entry 
    2 6494 CSSymbolicatorForeachSymbolOwnerWithCFUUIDBytesAtTime:entry 
    2 5048 CSSymbolOwnerGetDataFlags:entry 
    2 6538 CSSymbolOwnerGetRegionWithName:entry 
    2 5014 CSSymbolOwnerForeachRegionWithName:entry 
    2 5078  CSRegionForeachSymbol:entry 
    2 5092   CSSymbolIsExternal:entry 
    2 5092   CSSymbolIsExternal:entry 
    ... 

이 있다면 라이브러리가 dtrace 명령에서 사용하고 것, 어쨌든 보인다.

관련 문제