首页 > 代码库 > SystemTap
SystemTap
安装
sudo apt-get install build-essential
sudo apt-get install elfutils
sudo apt-get install libdw-dev
wget wget https://sourceware.org/systemtap/ftp/releases/systemtap-2.4.tar.gz
tar -xzvf systemtap-2.4.tar.gz
cd systemtap-2.4
./configure
sudo make
sudo make install
测试语句
sudo stap --all-modules -ve ‘probe begin { log("hello world") exit () }‘
sudo stap -ve ‘probe begin { log("hello world") exit () }‘
sudo stap -ve ‘probe kernel.function("sys_open") {log("hello world") exit()}‘
sudo stap -ve ‘probe module("libiscsi").function("iscsi_queuecommand") {log("hello world") exit()}‘
打印堆栈
print_backtrace--all-modules加载所有模块,显示堆栈信息
在Ubuntu上使用SystemTap
http://www.ningoo.net/html/2010/use_systemtap_on_ubuntu.html
ubuntu+systemtap进行Linux内核和用户空间开发测试
http://blog.csdn.net/sailor_8318/article/details/25076745
SystemTap在Ubuntu 12.04上的安装 Build-id mismatch
http://www.it165.net/os/html/201310/6486.html
使用systemtap调试linux内核
http://blog.csdn.net/heli007/article/details/7187748
利用systemtap定位ifconfig dropped数据包的原因
http://www.it165.net/os/html/201308/5944.html
范例
https://sourceware.org/systemtap/wiki
System语言详解
http://blog.csdn.net/linyt/article/details/5204841
sudo apt-get install build-essential
sudo apt-get install elfutils
sudo apt-get install libdw-dev
wget wget https://sourceware.org/systemtap/ftp/releases/systemtap-2.4.tar.gz
tar -xzvf systemtap-2.4.tar.gz
cd systemtap-2.4
./configure
sudo make
sudo make install
测试语句
sudo stap --all-modules -ve ‘probe begin { log("hello world") exit () }‘
sudo stap -ve ‘probe begin { log("hello world") exit () }‘
sudo stap -ve ‘probe kernel.function("sys_open") {log("hello world") exit()}‘
sudo stap -ve ‘probe module("libiscsi").function("iscsi_queuecommand") {log("hello world") exit()}‘
打印堆栈
print_backtrace--all-modules加载所有模块,显示堆栈信息
在Ubuntu上使用SystemTap
http://www.ningoo.net/html/2010/use_systemtap_on_ubuntu.html
ubuntu+systemtap进行Linux内核和用户空间开发测试
http://blog.csdn.net/sailor_8318/article/details/25076745
SystemTap在Ubuntu 12.04上的安装 Build-id mismatch
http://www.it165.net/os/html/201310/6486.html
使用systemtap调试linux内核
http://blog.csdn.net/heli007/article/details/7187748
利用systemtap定位ifconfig dropped数据包的原因
http://www.it165.net/os/html/201308/5944.html
范例
https://sourceware.org/systemtap/wiki
System语言详解
http://blog.csdn.net/linyt/article/details/5204841
#! /usr/bin/env stap global host_no = 17 global channel = 0 global targetid = 0 global lunid = 15 # 判断io是否下发到iscsi probe module("libiscsi").function("iscsi_queuecommand") { if ( $host!=0 && $sc!=0 ) { if ( $host->host_no==host_no && $sc->device->channel==channel && $sc->device->id==targetid && $sc->device->lun==lunid ) { printf("====================send scsi=======================\n") printf("tag = %d\n", $sc->tag) printf("serial_number = %lu\n", $sc->serial_number) printf("jiffies_at_alloc = %lu\n", $sc->jiffies_at_alloc) print_backtrace() printf("\n") } } } probe kernel.function("do_sync_read") { if ($filp!=0) { if ($filp->f_inode!=0) { if ($filp->f_inode->i_ino == 3978543828) { printf("===========================================do_sync_read\n\n") } } } } # 判断IO在iscsi被正确下发 probe module("libiscsi").statement("iscsi_queuecommand@libiscsi.c:1690") { if ( $host!=0 && $sc!=0 ) { if ( $host->host_no==host_no && $sc->device->channel==channel && $sc->device->id==targetid && $sc->device->lun==lunid ) { printf("====================cmd sended=======================\n") printf("reason=%d\n", $reason) printf("\n") } } } # 判断IO是否返回 probe module("libiscsi").function("__iscsi_put_task") { if ($task != 0) { if ($task->sc != 0) { if ( $task->sc->device->host->host_no==host_no && $task->sc->device->channel==channel && $task->sc->device->id==targetid && $task->sc->device->lun==lunid ) { printf("*************************recv scsi********************\n") printf("tag = %d\n", $task->sc->tag) printf("serial_number = %lu\n", $task->sc->serial_number) printf("jiffies_at_alloc = %lu\n", $task->sc->jiffies_at_alloc) print_backtrace() printf("\n") } } } }
SystemTap
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。