如何过滤 Objective-C 的 DTrace 输出?
Posted
技术标签:
【中文标题】如何过滤 Objective-C 的 DTrace 输出?【英文标题】:How to filter DTrace output for Objective-C? 【发布时间】:2011-11-15 13:36:56 【问题描述】:我正在学习DTrace,它是非常强大的工具。但一个问题是 DTrace 输出的信息太多,其中大部分是 NS 类。
但我的问题是,如果用户的类没有正确的前缀,我该如何过滤系统类?
(这个主题有一个类似的 Stack Overflow 问题,[How to detect without the system method or system framework with DTrace on Mac OS X?]。)
【问题讨论】:
【参考方案1】:DTrace 使用类似Filename generation 的语法来指定探测名称。例如。您可以使用方括号 [
和 ]
指定类名的第一个字符。
例如如果要过滤所有 NS* 类:
objc$target::[ABCDEFGHIJKLMOPQRSTUVWXYZ]*:entry (N is removed)
objc$target::N[ABCDEFGHIJKLMNOPQRTUVWXYZ]*:entry (S is removed)
但你必须为 Apple 使用的每个前缀重复它,例如 CA、IK 等。
【讨论】:
以上是关于如何过滤 Objective-C 的 DTrace 输出?的主要内容,如果未能解决你的问题,请参考以下文章
Leopard 上的 DTrace:没有指定探针,即使我指定了探针
如何在 UICollectionView 顶部添加一个视图以支持诸如搜索栏或 Objective-c 中的过滤器之类的内容?