VUE语言简介
VUE语言是用来编写 ProbeVue 动态跟踪程序的语言。VUE脚本是指用 VUE语言编写的程序。VUE脚本可 以用来确定动态探针所在的探针点,指定动态探针触发条件和探针的行为(例如捕获哪些跟踪数据)。简 单来说,VUE脚本就是告诉 probevue 那里跟踪,什么时候跟踪,以及跟踪什么数据。
一个典型的VUE程序包含几个子句,每个子句包含一个或多个调查规范以及相应的具有可选谓词的用户 操作。VUE脚本提供了声明、操作和输出数据的工具以及某些对执行的控制。VUE脚本的子句有三种元素组 成:
探针点声明 - 该声明标示了一系列的可以启用的探针点。它包含若干个探针点元组。
动作块 - 动作块包含探针动作代码,这些代码在探针触发时执行。
可选的前缀 - 包含了探针被触发的条件。只有在条件被满足时动作块中的探针动作代码才会被执行。
VUE语言的特性可以总结为以下几点:
支持C-89 数据类型和VUE 特殊的数据类型(例如String, List 等类型)
支持不同的数据作用域,包括线程内部数据,全局数据,操作系统内核数据等等
支持读取被跟踪函数的参数和返回值
支持内置变量来返回信息。例如__pid 返回跟踪进程的进程号,__tid 返回跟踪线程的线程号, __pname 返回执行文件名
支持众多辅助函数,例如stkstrace(),timestamp(),get_userstring(),printf() 等等
支持while表达式,用于有条件的启动探针点
支持Shell表达式,可以访问Shell 环境变量和参数值
时间: 2024-08-01 08:36:00