Парсер ELF/DWARF для извлечения элементов структуры

Есть ли способ извлечь размер и адрес элементов в структуре с помощью файла elf? Я надеюсь, что есть доступный инструмент, который может сделать это и экспортировать его в более читаемый формат.

Моя конечная цель — преобразовать файл ELF в файл ASAM A2L. Бесплатный инструмент с открытым исходным кодом, который мог бы это сделать, был бы еще лучше, но большинство компаний, которые этим занимаются, берут большие деньги за свои инструменты.


person Steve S    schedule 30.07.2014    source источник


Ответы (1)


Я не знаю навскидку что-либо предварительно консервированное, но не очень сложно модифицировать существующий инструмент, чтобы сделать это.

Нечто подобное делает программа "pahole" из проекта "dwarves". Он печатает определение структуры определенным образом.

Существует также скрипт pahole.py для gdb, который делает почти то же самое. Это было бы тривиально изменить, чтобы печатать то, что вам нравится.

Если вы хотите немного углубиться, вы можете написать это самостоятельно, используя одну из существующих библиотек DWARF. Мне нравится тот, что в elfutils, но YMMV.

person Tom Tromey    schedule 30.07.2014