通过ftrace无法跟踪系统调用

3

我正在使用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内核。请帮忙。

1个回答

1
如果你还没有弄清楚,

请注意


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

好的,我搞定了。如果我们在系统调用入口启用事件跟踪点,可以在跟踪中看到sys_read和sys_write。例如,对于sys_read:echo 1 > tracing/events/syscalls/sys_enter_read/enable - 3uphoric

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接