Mad*_*wat 5 linux debugging system-calls strace ftrace
我为 sys_enter_openat 系统调用启用了 ftrace 事件跟踪。在 events/syscalls/sys_enter_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))
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,ftrace 的示例输出行类似于
msm_irqbalance-1338 [000] ...1 211710.033931: sys_openat(dfd: ffffff9c, filename: 5af693f224, flags: 2, mode: 0)
Run Code Online (Sandbox Code Playgroud)
有没有办法改变输出格式,这样filename: 5af693f224可以显示为filename: <string>而不是hex(5af693f224)?
所以基本上有一种方法可以在跟踪特定事件(例如上面的 sys_enter_openat)到 ftrace 时更改输出格式。
我想这可以使用 systemtap 或 krpobe 实现,但我的设置目前不允许使用。
nev*_*ets 14
不幸的是,目前没有办法做到这一点。但也许将来我可能会添加它,如果我能找出一个理智的接口和实现来做这样的事情。也许我会添加一个触发器,使输出显示不同。
虽然我可能是 StackExchange 的新手,但我是 ftrace 的作者(真名 Steven Rostedt - 查看 git 历史)。当我编写代码时,“真正的答案”就会出现!
| 归档时间: |
|
| 查看次数: |
593 次 |
| 最近记录: |