Debugging 将syscall事件跟踪输出的格式更改为ftrace
我为Debugging 将syscall事件跟踪输出的格式更改为ftrace,debugging,linux-kernel,system-calls,ftrace,tracepoint,Debugging,Linux Kernel,System Calls,Ftrace,Tracepoint,我为sys\u enter\u openatsyscall启用了ftrace事件跟踪。events/syscalls/sys\u enter\u openat/format中给出的相应输出格式为 print fmt: "dfd: 0x%08lx, filename: 0x%08lx, flags: 0x%08lx, mode: 0x%08lx", ((unsigned long)(REC->dfd)), ((unsigned long)(REC->filename)), ((unsi
sys\u enter\u openat
syscall启用了ftrace事件跟踪。events/syscalls/sys\u enter\u openat/format
中给出的相应输出格式为
print fmt: "dfd: 0x%08lx, filename: 0x%08lx, flags: 0x%08lx, mode: 0x%08lx", ((unsigned long)(REC->dfd)), ((unsigned long)(REC->filename)), ((unsigned long)(REC->flags)), ((unsigned long)(REC->mode))
正如预期的那样,ftrace的示例输出线类似于
msm_irqbalance-1338 [000] ...1 211710.033931: sys_openat(dfd: ffffff9c, filename: 5af693f224, flags: 2, mode: 0)
是否有办法更改输出格式,使文件名:5af693f224
可以显示为文件名:
而不是地址?
我想这可能是使用
systemtap
或krpobe
实现的,但我的设置目前不允许使用它。您可以使用自己的格式定义kprobe事件:
cd /sys/kernel/debug/tracing
echo 'p:open do_sys_open file=+0(%si):string' > kprobe_events
echo 1 > events/kprobes/open/enable
cat trace_pipe
哪些产出:
cat-123 [001] .... 123.123: open: (do_sys_open+0x0/0x80) file="/etc/fstab"
cat-123 [001] .... 123.124: open: (do_sys_open+0x0/0x80) file="/dev/zero"
有关详细信息,请参阅: