Skip to content

Latest commit

 

History

History
45 lines (34 loc) · 1.37 KB

DEV.md

File metadata and controls

45 lines (34 loc) · 1.37 KB

TODO

  1. (done)改动Cmake,确保bpfparser指出现一次
  2. (done) 生成BTF,dump BTF结果,确保类型都正确
  3. 实现自己的BTF Parser,获取Patch必需的信息

NOTES

  1. 搭建开发环境,依赖于git, vim, clang, cmake, build-essential, g++, git, zlib1g-dev, llvm, python3, python3-pip, iproute2, libelf-dev等 Python依赖:python3-pyelftools
bash scripts/build_all.sh
  1. 为带有debug info的elf文件生成BTF section
bash btf_writer/gen_btf.sh file_with_debuginfo

  1. 解析二进制中BTF section的内容
/deps/btfparse-build/tools/dump-btf/dump-btf file_with_btfsection

  1. 得到某个函数的BTF信息,参数为elf路径和欲查找函数名(./btf_parser/build/getBTF elf_path func_name [single], single 是可选参数)
  • 不带single参数,打印BTF中的所有函数名,若找到输入中的函数,则会额外打印Found

     ./btf_parser/build/getBTF elf_path func_name

  • 带single参数,打印函数func_name的详细信息,例如

  1. 比较nm -s输出的函数信息和btfparse库解析的是否相同
python btf_parser/check.py file_with_debuginfo

Patch Notes