如何使用SystemTap

时间:2015-08-26 15:29:57

标签: linux vfs systemtap

我看过使用probe syscall.open.return { }的SystemTap脚本示例 但是有一些应用程序不会调用systemcall 那么如何在VFS上探测文件打开

1 个答案:

答案 0 :(得分:2)

如果您知道要探测vfs打开操作,请执行以下操作:

# stap -L 'kernel.function("vfs_*")'
[...]
kernel.function("vfs_open@fs/open.c:862") $path:struct path const* $filp:struct file* $cred:struct cred const*
[...]

# stap -e 'probe kernel.function("vfs_open") { /* ... */ }'

其中...可以包括打印上下文变量,识别调用过程,回溯,task_dentry_path(task_current(), $path->dentry, $path->mnt)等。