正如你可能已經知道的那樣,Apple只需要發佈從其他開源項目中獲取的內核部分,而不包括它們在內核之上構建的用戶級庫。儘管如此,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 2010-02-02 19:21:57
我想從頭開始構建它。我認爲這是與開源(CDDL)軟件包交易的一部分,但也許蘋果公司並不需要提供所有的東西來實現這一點。 – JanePhanie 2010-02-18 00:06:25