как вы строите DTrace на Mac OS X? - PullRequest
3 голосов
/ 02 февраля 2010

Я пытаюсь построить цель dtrace в проекте Xcode, используя совет здесь:

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

Но я получаю: libproc.m: 24: 49: ошибка: CoreSymbolication / CoreSymbolication.h: нет такого файл или каталог

Я понимаю, что CoreSymbolication является частной платформой, но Apple должна сделайте этот заголовок доступным где-нибудь для того, чтобы я собрал dtrace, право? Может кто-нибудь указать мне необходимые файлы для сборки dtrace?

1 Ответ

0 голосов
/ 30 мая 2013

Как вы, наверное, поняли, Apple должна выпускать только те части ядра, которые взяты из других проектов с открытым исходным кодом, и это не включает в себя пользовательские библиотеки, которые они строят поверх ядра.CoreSymbolication/CoreSymbolication.h звучит очень похоже на заголовок пользовательского пространства для Obj-C, так что вы, вероятно, можете собрать утилиты DTrace для ядра без него.(Хотя я вполне могу ошибаться.)

Я думаю, он используется для идентификации символов в команде userland 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, в любом случае.

...