首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Mac上构建DTrace?

如何在Mac上构建DTrace?
EN

Stack Overflow用户
提问于 2010-02-03 02:58:55
回答 1查看 1.1K关注 0票数 3

我正在尝试使用下面的建议在Xcode项目中构建dtrace目标:

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

但是我得到: libproc.m:24:49: error: CoreSymbolication.h:没有这样的文件或目录

我知道CoreSymbolication是一个私有的框架,但是苹果必须让这个头文件在某个地方可用,这样我才能构建dtrace,对吧?有人能告诉我构建dtrace所需的文件吗?

EN

回答 1

Stack Overflow用户

发布于 2013-05-30 07:40:15

正如你可能知道的那样,苹果只需要发布取自其他开源项目的内核的一部分,这不包括他们在内核之上构建的用户版本库。不过,CoreSymbolication/CoreSymbolication.h听起来很像Obj-C的用户空间标题,所以您可以不使用它来构建内核DTrace实用程序。(尽管我很可能是错的。)

我猜它是用来在userland dtrace(1m)命令中识别符号的。如果有什么工具能帮我们解决这个问题...:-D

代码语言:javascript
复制
# 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命令使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2186766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档