• 2024-09-28systemtap跟踪进程生命周期
    systemtapman:https://sourceware.org/systemtap/man/本来追踪进程生命周期可以用syscall.fork和syscall.exit之类的。但是有时候它们会失效(或者部分失效)。所以更好的方式是用kprocess系列,文档:https://sourceware.org/systemtap/man/tapset::kprocess.3stap.htmlkprocess.cre
  • 2024-09-28systemtap semantic error: no match (similar functions:
    用户态probe文档:https://sourceware.org/systemtap/SystemTap_Beginners_Guide/userspace-probing.html这是process("PATH").function("function")报的错,意思是没有在ELF文件中找到这个函数对应的符号。大概率是因为ELF文件是用C++编译来的,符号名跟函数名不对应。例如对于以下程
  • 2024-09-28systemtap embedded C 踩坑笔记
    官方文档:https://sourceware.org/systemtap/langref/3_Components_SystemTap_scri.html#SECTION00045000000000000000打印systemtap的embeddedC中,不能#include<stdio.h>,也不能用printf和print。那怎么打印呢?用STAP_PRINTF。用法与printf一样。还可以访问cript中的全局变量。
  • 2024-01-18systemtap统计 探测linux驱动中某个函数的执行时间
    直接上脚本:#!/usr/bin/stapglobalstart,endprobemodule("your_driver").function("your_function"){start[tid()]=gettimeofday_ns()}probemodule("your_driver").function("your_function").return{end[tid()]=get
  • 2024-01-17systemtap首次运行.stp时奇怪报错解决
    一句话:更换合适版本。不管是源码编译还是直接安装的预编译包,版本必须与你的kernel匹配,不然就是一堆奇怪的报错,正面去解决是不可能的。 你可能会遇到这些编译输出:----------------------------------------------------------------------------------------------------------
  • 2023-11-13随笔-Centos7 install systemtap
    SystemTapBeginnersGuideChapter2.UsingSystemTapThischapterinstructsusershowtoinstallSystemTap,andprovidesanintroductiononhowtorunSystemTapscripts.2.1.InstallationandSetupTodeploySystemTap,SystemTappackagesalongwiththeco
  • 2023-06-18【简介】一个捕捉Linux系统事件工具:systemtap
    SystemTap于2005年出初版,已经历尽了5年多的发展,是一个相对成熟的工具。它可以用来捕捉Linux系统事件,例如:系统调用,jiffies的搏动,对proc文件系统的读写事件,对ext3的读写事件等等。 用户使用systemtap特有的脚本语言编写事件处理函数,systemtap将这些脚本进行编译转化成内核模块并插
  • 2023-01-04systemtap从入门到放弃(二)
    前言上一篇《systemtap从入门到放弃(一)》我们知道了什么是systemtap,以及如何书写简单的systemtap脚本。本篇承接上文,介绍systemtap的安装和简易场景应用,通过几个小例子掌握
  • 2022-12-31systemtap从入门到放弃(一)
    前言内核开发从业者,都知道一个代码调试"大杀器":printk!除此之外大家依据自己的习惯,还经常用一些诸如kdump这类的复杂工具。对于systemtap,有人可能熟悉有人可能没听过,本文
  • 2022-12-22内核分析三
    2.5.systemtap  网卡分包不进入内核,在内核通过systemtap统计不了内核里面的网卡分包情况。统计都是内核里面的数据