
systemtap
靖源
这个作者很懒,什么都没留下…
展开
-
systemtap使用指导三
Tapsets(函数库)4.1自动选择systemtap企图去分解对全局标识符(探针,函数,变量)的引用(他们不是在脚本中定义的,)Systemtap attempts to resolve references to global symbols (probes, functions, variables) that are not defined within the scri翻译 2012-11-13 16:03:55 · 1381 阅读 · 0 评论 -
Systemtap 学习四(表达式,命令行传递参数)
$ptr->memberptr是一个在被探测的上下文中可以获得的内核中的指针二、通过stap命令行传入的参数。字面量可以是在双引号中的string,也可以是整数值。通过在stap命令结尾处加入的参数并看做是字面量。这些字面量可以在上下文中任何可以使用字面量的地方使用。但是如果是对一个不存在的参数进行引用,则会报错。(1)使用$1……$来将完整的输入参数按照其本来意义原创 2012-11-15 11:41:22 · 2442 阅读 · 1 评论 -
Systemtap 使用指导一
2.跟踪2.1 设置探针的位置 Systemtap支持一系列嵌入事件。安装Systemtap时一起安装上的脚本库(每个叫做一个tapset:http://sourceware.org/systemtap/tapsets/)定义了附加的事件。所有的事件都使用统一的点分隔符来命名。beginThe startup of the systemtap session.翻译 2012-11-12 21:16:42 · 1621 阅读 · 0 评论 -
systemtap使用指导二
3 分析使用systemtap,可以分析数据,进行过滤,聚集,求和。不同的探针可以一起处理对共享数据。在处理函数中可以使用非常丰富的C-style 语法。3.1 基本构成if/else statemenwhile(EXPR)STATEMENTfor(A;B;C)STATEMENTsystemtap中可以像C语言那样使用break/continue。探针处理函数中可以翻译 2012-11-12 22:33:39 · 2309 阅读 · 0 评论 -
内联函数不能设置断点的原因
对于内联函数,编译器会去掉函数调用,直接将函数代码在调用的位置展开,所以在该函数名上就无法设置断点。使用kprobe或者systemtap也就不能使用函数名探测这样的函数。内联优化从目标文件中去掉了该函数的入口点,符号表中也没有该函数的名称。原创 2012-12-06 10:46:45 · 3834 阅读 · 0 评论 -
kprobe探测中使用offset存在兼容性问题
kprobe通过插入内核模块来做探测内核的工作。使用offset成员,可以来指定从symbol指定的函数开始,距离该函数offset的位置的指令。在kprobe的文档里有这么一句话:Use the "offset" field of struct kprobe if the offset into the symbol to install a probepoint is kn原创 2012-11-23 10:48:54 · 1397 阅读 · 0 评论