我看过使用probe syscall.open.return { }
的SystemTap脚本示例
但是有一些应用程序不会调用systemcall
那么如何在VFS上探测文件打开
答案 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)
等。