ubuntu 8.04下安装和使用systemtap

systemtap是一个linux下的系统调用和跟踪程序,如果您在windows下用过filemon或者processmonitor的话就明白了.systemtap功能比processmonitor更强大一些,定制性更高些.但是显然,和大多数linux程序一样,也更难用!
为了装这个systemtap,翻了好多贴子,最简单的方法如下:
  1. 运行命令:sudo apt-get install linux-image-debug-`uname -r`
  2. 运行命令: sudo ln -s vmlinux-debug-`uname -r` vmlinux-`uname -r`
  3. 运行命令:sudo apt-get install systemtap
如此,就装好了,可以构造一个简单的脚本文件a.stp,如下:
probe syscall.open
{
  printf ("%s(%d) open (%s)\n", execname(), pid(), argstr)
}
 然后用命令运行:sudo stap ./a.stp 如果顺利的话,就可以看到输出了.不过我这里运行到pass5的时候报错:/usr/lib/systemtap/stapio terminated,正在查找原因中.

如果不习惯使用这么高定制性的工具的话,可以改用strace,用法简单:strace -f -o out_trace.txt /opt/eclipse/eclipse 我这里是用来跟踪eclipse运行时候的文件读写记录.


参考文献:
  • http://blog.chinaunix.net/u/12679/showart_529575.html (注:这个方法不好用,我在xubuntu下界面出问题,而且stap无法运行)
  • https://bugs.launchpad.net/ubuntu/+source/systemtap/+bug/106957
  • http://sourceware.org/systemtap/tutorial/node5.html 有关systemtap脚本的编写
  • http://www.ibm.com/developerworks/cn/linux/l-systemtap/ 使用Systemtap调试内核
  • http://www.xxlinux.com/linux/article/development/soft/20051125/67.html 使用truss,strace,ltrace跟踪


posted on   老翅寒暑  阅读(1221)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

导航

< 2008年5月 >
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7
点击右上角即可分享
微信分享提示