我正在尝试使用下面的建议在Xcode项目中构建dtrace目标:
http://osx86.boeaja.info/2009/10/building-xnu-kernel-on-snow-leopard/
但是我得到: libproc.m:24:49: error: CoreSymbolication.h:没有这样的文件或目录
我知道CoreSymbolication是一个私有的框架,但是苹果必须让这个头文件在某个地方可用,这样我才能构建dtrace,对吧?有人能告诉我构建dtrace所需的文件吗?
发布于 2013-05-30 07:40:15
正如你可能知道的那样,苹果只需要发布取自其他开源项目的内核的一部分,这不包括他们在内核之上构建的用户版本库。不过,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命令使用。
https://stackoverflow.com/questions/2186766
复制相似问题