Systemtap 学习四(表达式,命令行传递参数)

来源:互联网 发布:网络组策略如何打开 编辑:程序博客网 时间:2024/05/01 01:05

$ptr->member

ptr是一个在被探测的上下文中可以获得的内核中的指针


二、通过stap命令行传入的参数。

字面量可以是在双引号中的string,也可以是整数值。通过在stap命令结尾处加入的参数并看做是字面量。这些字面量可以在上下文中任何可以使用字面量的地方使用。但是如果是对一个不存在的参数进行引用,则会报错。


(1)使用$1……$<NN>来将完整的输入参数按照其本来意义传递到输入流中,将来可以在脚本中使用。

(2)使用@1……@<NN>来把完整的输入参数映射为一个字符串字面量(不论其原来是字符串还是数值)

比如:

example.stp

probe begin

{

printf("%d,%s\n",$1,@2)

}

在命令行:

stap example.stp 5+5 5+5

执行 结果 :

10,5+5

解释:第一个参数按其本身的意思被读入后,systemtap会分析它是一个数值,进行计算后输出。。第二个参数(虽然和第一个一样)由于使用@来传入,systemtap直接把它作为string字面值。所以输出和输入一模一样。

原创粉丝点击