Solaris 动态跟踪指南

探测器子句和声明

如我们已提供过的示例所示,D 程序源文件由一条或多条探测器子句组成,这些子句说明 DTrace 启用的检测过程。每条探测器子句具有以下一般形式:

probe descriptions
/ predicate /
{
	action statements
}

谓词和操作语句列表可以省略。探测器子句外部的任何指令都称为声明。只可以在探测器子句外部使用声明。封闭的 { } 内部不允许使用声明,声明不能分布在如上所示的探测器子句的元素之间。可以使用空格分隔任何 D 程序元素,并缩进操作语句。

可以使用声明来声明 D 变量和外部 C 符号(如第 3 章中所讨论),或者定义要在 D 中使用的新类型(如第 8 章中所介绍)。称为 pragma 的特殊 D 编译器指令也可以出现在 D 程序中的任何位置(包括探测器子句的外部)。在以 # 字符开头的行上指定 D pragma。例如,D pragma 可用于设置运行时 DTrace 选项;有关详细信息,请参见第 16 章