![执行trace-bpfcc时,“无法附加kprobe,探针条目可能不存在”](https://linux22.com/image/197028/%E6%89%A7%E8%A1%8Ctrace-bpfcc%E6%97%B6%EF%BC%8C%E2%80%9C%E6%97%A0%E6%B3%95%E9%99%84%E5%8A%A0kprobe%EF%BC%8C%E6%8E%A2%E9%92%88%E6%9D%A1%E7%9B%AE%E5%8F%AF%E8%83%BD%E4%B8%8D%E5%AD%98%E5%9C%A8%E2%80%9D.png)
我正在关注密件抄送教程并尝试执行trace-bpfcc
命令:sudo trace-bpfcc 'sys_execve "%s", arg1'
该命令失败并出现错误:
cannot attach kprobe, probe entry may not exist Failed to attach BPF program b'probe_sys_execve_1' to kprobe b'sys_execve'
在网上搜索时,我发现如果__x64_sys_execve
中缺少符号就会出现这样的错误/proc/kallsyms
,但我那里有一个。
我根本没有任何内核开发经验,我需要做什么来解决这个问题?
我的发行版是 Ubuntu 20
答案1
您自己找到了正确的符号:__x64_sys_execve
,您想在运行命令时使用相同的内容:
$ sudo trace-bpfcc '__x64_sys_execve "%s", arg1'
您的内核中没有简单调用的函数__sys_execve
,您必须匹配 BCC 的确切符号才能找到相关函数。