Я работаю над утилитой, которая должна преобразовать шестнадцатеричные адреса в символическое имя функции и номер строки исходного кода в двоичном файле. Утилита будет работать в Linux на x86, хотя бинарные файлы, которые она анализирует, будут предназначены для встраиваемой системы на основе MIPS. Двоичные файлы MIPS представлены в формате ELF с использованием DWARF для символической отладочной информации.
В настоящее время я планирую разветвить objdump, передав список шестнадцатеричных адресов и проанализировав вывод, чтобы получить имена функций и номера строк исходного кода. Я скомпилировал objdump с поддержкой двоичных файлов MIPS, и он работает.
Я бы предпочел иметь пакет, позволяющий мне искать что-то в исходном коде Python, не разветвляя другой процесс. Я не могу найти ни одного упоминания о libdwarf, libelf или libbfd на python.org, ни упоминания о python на dwarfstd.org.
Есть ли где-нибудь подходящий модуль?