我正在开发一个实用程序,该实用程序需要将十六进制地址解析为二进制文件中的符号函数名称和源代码行号。该实用程序将在 x86 上的 Linux 上运行,尽管它分析的二进制文件将用于基于 MIPS 的嵌入式系统。MIPS 二进制文件是 ELF 格式,使用 DWARF 作为符号调试信息。
我目前正计划 fork objdump,传入一个十六进制地址列表并解析输出以获取函数名称和源代码行号。我已经编译了一个支持 MIPS 二进制文件的 objdump,它正在工作。
我希望有一个包允许我从 Python 代码中本地查找内容,而无需分叉另一个进程。我在 python.org 上找不到任何提及 libdwarf、libelf 或 libbfd,在 dwarfstd.org 上也找不到任何提及 python。
某处是否有合适的模块可用?