历经5周时间(一边上班,下班回家搞、周末吃完饭搞)投入的都是些零碎时间,总体也不知道多少工时,今天终于成功了,完成第一个demo的运行,看到结果太开心了。哈哈哈哈。
总体步骤后续我写出来共大家分享使用。先记录整体的流程。
内核版本确认这个是必须的
llvm源码编译和安装
这个编译太慢了,我电脑是12核的,编译使用10核,也是等待了30min左右。
bcc编译
这个-j 10 非常快
python需要的bcc包,是bcc编译生成的,当然在编译命令时也可以不要执行python包的编译。
执行sudo make install之后,python也会安装好。
第一个demo的执行
sudo ./Helloworld.py
再重新开一个命令行执行 ls就可以看到helloworld 了。是不是很开心,
没有加sudo执行报没有权限
./hello_world.py
bpf: Failed to load program: Operation not permitted
执行正常的结果
b''
b' microsoft-edge--86867 [008] d..31 16260.818171: bpf_trace_printk: Hello, World!'
b''
b' microsoft-edge--86867 [008] d..31 16260.819157: bpf_trace_printk: Hello, World!'
b''
b' microsoft-edge--86867 [008] d..31 16260.820169: bpf_trace_printk: Hello, World!'
b''
b' microsoft-edge--86867 [008] d..31 16260.820431: bpf_trace_printk: Hello, World!'
b''
b' ThreadPoolForeg-86592 [004] d..31 16262.925092: bpf_trace_printk: Hello, World!'
b''
b' ThreadPoolForeg-86833 [005] d..31 16262.925139: bpf_trace_printk: Hello, World!'
b''
b' ThreadPoolForeg-86592 [004] d..31 16262.925186: bpf_trace_printk: Hello, World!'
b''
b' ThreadPoolForeg-86875 [000] d..31 16262.925243: bpf_trace_printk: Hello, World!'
b''
b' <...>-86873 [008] d..31 16262.925277: bpf_trace_printk: Hello, World!'
b''
b' msedge-85841 [009] d..31 16262.926095: bpf_trace_printk: Hello, World!'
b''
b' ThreadPoolForeg-86877 [007] d..31 16262.926109: bpf_trace_printk: Hello, World!'
b''
b' systemd-1 [002] d..31 16273.316105: bpf_trace_printk: Hello, World!'