开发 分析我们的错误实际上为我们提供了什么(在pahole获取结构偏移的帮助下),我们看到有 2 个越界写入: entry = &flow->rule->action.entries[ctx->num_actions 我通过 's 的输出手动搜寻pahole任何有趣的结构,该结构在必要的偏移处有一个指针,但空手而归。
dwarves: 包含 pahole 等工具,用于读取和分析 DWARF 调试信息。 内核编译时可能需要 pahole 来生成 BTF (BPF Type Format) 信息,这对于 eBPF 开发和一些现代调试技术很有帮助。
clang│ └── ohos├── cmake│ ├── linux-x86│ └── windows-x86├── develop_tools ├── bpftool│ └── pahole
还有个叫 pahole 的工具,我自己没用过,但据说口碑很好。该工具与编译器协同工作,生成关于结构体填充、对齐和缓存段边界报告。
c-shell 的历史 break class::member 在类成员处设置断点 list class:member 显示类成员代码 ptype class 查看类包含的成员 /o可以看成员偏移,类似pahole
c-shell 的历史 break class::member 在类成员处设置断点 list class:member 显示类成员代码 ptype class 查看类包含的成员 /o可以看成员偏移,类似pahole
unwinder for JIT compiled code jit-reader-unload -- Unload the currently loaded JIT debug info reader pahole