为了装这个systemtap,翻了好多贴子,最简单的方法如下:
- 运行命令:sudo apt-get install linux-image-debug-`uname -r`
- 运行命令: sudo ln -s vmlinux-debug-`uname -r` vmlinux-`uname -r`
- 运行命令:sudo apt-get install systemtap
probe syscall.open然后用命令运行:sudo stap ./a.stp 如果顺利的话,就可以看到输出了.不过我这里运行到pass5的时候报错:/usr/lib/systemtap/stapio terminated,正在查找原因中.
{
printf ("%s(%d) open (%s)\n", execname(), pid(), argstr)
}
如果不习惯使用这么高定制性的工具的话,可以改用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跟踪