Chinaunix首页 | 论坛 | 博客
  • 博客访问: 516834
  • 博文数量: 166
  • 博客积分: 4038
  • 博客等级: 上校
  • 技术积分: 1115
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-14 23:29
文章分类

全部博文(166)

文章存档

2010年(12)

2009年(126)

2008年(28)

分类: LINUX

2009-08-29 12:39:17

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无法运行)
  • 有关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跟踪
阅读(963) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~