我正在学习DTrace,它是非常强大的工具。但一个问题是 DTrace 输出的信息太多,其中大部分是 NS 类。
但我的问题是,如果用户的类没有正确的前缀,我如何过滤系统类?
(这个主题有一个类似的 Stack Overflow 问题,[How to detect without the system method or system framework with DTrace on Mac OS X?]。)
我正在学习DTrace,它是非常强大的工具。但一个问题是 DTrace 输出的信息太多,其中大部分是 NS 类。
但我的问题是,如果用户的类没有正确的前缀,我如何过滤系统类?
(这个主题有一个类似的 Stack Overflow 问题,[How to detect without the system method or system framework with DTrace on Mac OS X?]。)
DTrace 使用类似文件名生成的语法来指定探测名称。例如,您可以使用方括号[
和. 指定类名的第一个字符]
。
例如,如果你想过滤所有 NS* 类:
objc$target::[ABCDEFGHIJKLMOPQRSTUVWXYZ]*:entry (N is removed)
objc$target::N[ABCDEFGHIJKLMNOPQRTUVWXYZ]*:entry (S is removed)
但是您必须为 Apple 使用的每个前缀重复它,例如 CA、IK 等。