linux - 无法通过 ftrace 跟踪系统调用

标签 linux kernel system-calls ftrace

我正在使用 ftrace 来跟踪内核中的 sys_read 调用。使用函数或图形跟踪器,将 set_ftrace_filter 设置为 sys_write 失败

# echo sys_read > tracing/set_ftrace_filter                                                                                                                                            
-sh: echo: write error: Invalid argument

这是我的 ftrace kconfigs

# zcat /proc/config.gz | grep -i ftrace
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_FTRACE=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set        

我在 available_filter_functions 中也没有 sys_read 或 sys_write。我在 arm 平台上使用 3.14 内核。请帮忙。

最佳答案

如果你还没有想到

# egrep -i "^sys_read$|^sys_write$" tracing/available_filter_functions
SyS_read
SyS_write

关于linux - 无法通过 ftrace 跟踪系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38311946/

相关文章:

c - 获取当前目录的名称(不是路径)

linux - 无法在linux mint上安装vpython

php - 执行 screen 命令返回 `Cannot make directory '/var/run/screen' : File exists`

c - 从 C 中的 FILE * 指针访问文件描述符

string - 将函数应用于两个不等向量的笛卡尔积

c - 使用 pipe 和 fork 时

c - 还有其他方法可以用C语言构建管道吗?

java - 如何从 Java webapp 在远程 Linux 机器上远程安装 Java + Tomcat?

c++ - 使用简单的 C++ 进行内核模式编程?

c - 内核开发、内存分配器和 kprintf() 奇怪的输出