![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
systemtap
wh8_2011
这个作者很懒,什么都没留下…
展开
-
在Ubuntu10.10下升级内核到2.6.36使用systemtap
在Ubuntu10.10上升级内核到2.6.36使用systemtap 一直在 linux 平台上做开发工作已经几年了,但对 linux 内核都没有认真研究过,个人对 linux 的了解都停留在系统 api 的使用层面,对 linux 的底层设计了解甚少。在身边的同事,不凡有熟悉 linux 内核的高手,在他们的耳濡目染下,也激发了自己研究 linux 内核的激情,所以在自己的小黑转载 2016-05-17 23:15:30 · 759 阅读 · 0 评论 -
《System语言详解》——6. 语句种类
6. 语句种类SystemTap 脚本语句使开发人员在函数和探针处理函数编写结构化的控制流程。一个探针事件内执行语句数目不能超过MAXACTION ,默认值为1000 ,参阅1.6 节。6.1 break 和continueBreak 或continue 用于跳出或迭代最内层的 循环语句,如 while , for 或 foreach 语句。它们的语法和语义均与 C 语言的相同。转载 2015-10-27 22:48:58 · 888 阅读 · 0 评论 -
《System语言详解》——5. 语言元素
5 语言元素5.1 标识符标识符用于命名变量和函数。它是一个字母和数字组成的串,可以包含下划线(_) 和美元符号($) 。除了美元符号作为合法字符外,它和C 标识符的语法一样。以美元符号开头的标识符解释为目标软件变量的引用,而不是SystemTap 脚本变量。标识符不能以数字开始。5.2 数据类型SystemTap 语言仅有数种数据类型,均不需要类型声明。变量的类型可从它的使用环境转载 2015-10-27 22:48:12 · 586 阅读 · 0 评论 -
《System语言详解》——1.SystemTap概述
1 SystemTap概述1.1 关于本书本书是SystemTap语言结构和语法的综合参考书,大量引用现有的SystemTap手册和指南文档。读者只要阅读本书,就可从中掌握SysemTap语言的语法和建议性用法。为确保能顺利阅读本书,读者需要了解SystemTap的一般理论和操作。如果你是SystemTap新手,你会发现这是一本优秀的入门者指南。至于详细的tapsets用法,请参阅和本书一转载 2015-10-27 22:46:54 · 660 阅读 · 0 评论 -
《System语言详解》——3. SystemTap脚本的各大组件
3 SystemTap 脚本的各大组件SystemTap 脚本语言里的主要结构是定义探针(probe) 。探针将抽象事件与语句块或探针处理函数联系到一起,事件发生时,将执行这些语句块或探针处理函数。下述例子展示了如何利用两个探针来跟踪函数的进入和退出。probe kernel.function("sys_mkdir").call { log ("enter") }probe ker转载 2015-10-27 22:45:51 · 1612 阅读 · 0 评论 -
《System语言详解》——4. 探
4 探测点4.1 探测点的一般语法形式探测点采用点分格式的语法,事件命名空间划分成多个部分,类似于域名系统。每部分可以由字符串或数字等字面值来参数化,与函数调用的语法格式十分相似。下面是符合语法规则的探测点:kernel.function("foo")kernel.function("foo").returnmodule{"ext3"}.function("ext3_*")转载 2015-10-27 22:43:59 · 930 阅读 · 0 评论 -
SystemTap Errors Introduce
SystemTap的常见错误大致可以分为两类.一, 解析和语义阶段产生的错误这类错误发生在systemtap解析stp脚本以及转换成C代码的阶段.错误举例1. 语义错误, 错误表现parse error: expected foo, saw bar例如, 缺失handler部分, 导致语义错误.[root@db-172-16-3-150 shar转载 2015-10-27 11:50:45 · 3033 阅读 · 0 评论 -
内核探测工具systemtap简介
systemtap是内核开发者必须要掌握的一个工具,本文我将简单介绍一下此工具,后续将会有系列文章介绍systemtap的用法。什么是systemtap假如现在有这么一个需求:需要获取正在运行的 Linux 系统的信息,如我想知道系统什么时候发生系统调用,发生的是什么系统调用等这些信息,有什么解决方案呢?最原始的方法是,找到内核系统调用的代码,加上我们需要获得信息的代码、重新编转载 2017-04-09 19:33:50 · 484 阅读 · 0 评论 -
在Ubuntu上安装使用Systemtap
因为最近开始在Ubuntu上学习Nginx,在网上看到别人介绍了一款强大的内核探测工具Systemtap,于是便准备学习下这款探测工具为以后代码分析做准备。第一步便是安装。在自己电脑上安装的时候,也是费了一番劲儿。因此,为防止以后需要重新安装,也希望可以帮助后来学习的人,在这里准备写一篇博客做一个记录。 以下便是安装步骤: (0)、安装elfutils,提供分析调试信息转载 2017-04-10 20:22:25 · 3370 阅读 · 0 评论