아마도 알 수 있듯이, 애플은 다른 오픈 소스 프로젝트에서 가져온 커널의 일부만을 릴리스해야하고 커널 상단에 빌드하는 사용자 랜드 라이브러리는 포함하지 않아야합니다. 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
명령에서 사용하고 것, 어쨌든 보인다.
출처
2013-05-29 23:40:14
Dan
DTrace는 Snow Leopard의 표준 출하 커널을 기반으로합니다. 정확히 무엇을하고 싶니? – Yuji
처음부터 다시 만들고 싶습니다. 나는 그것이 오픈 소스 (CDDL) 패키지로 거래의 일부분 인 줄 알았지 만 애플이 모든 것을 제공해야 할 필요는 없다. – JanePhanie