ELF & DWARF parser

Написал тут по-быстрому (хотя не очень, 4 дня потратил на этот говнокод) на C# библиотеку для чтения ELF файлов и парсинга DWARF4 дебаг информации в ELF файлах.

https://github.com/L-proger/ELFUtils

https://github.com/L-proger/ELFExplorer – GUI приложение, лагучий набросок.

В основном для самообучения, для раскуривания дебаггинга и т.п. но ещё одно интересное для меня применение – напишу вскоре тулзу для вывода подробной инфы о памяти ELF бинарника.  Я довольно часто программирую под микроконтроллеры и как многим известно там есть обычно достаточно большие проблемы с объёмом памяти – как FLASH так и оперативной, потому часто приходится считать байты и стараться сделать бинарник как можно меньше по размеру.

Вот и накидал эту библиотеку. На самом деле всё можно было бы сделать гораздо проще! Использоваться стандартную тулзу тулчейна readelf и, скажем, регулярками разбирать её вывод и получать финальную информацию о символах в бинарнике, но это слишком просто ) А так я разобрался в DWARF формате что меня весьма радует.

Пример вывода консольной версии ниже. Консоль сейчас для простого дебага, я вскоре сделаю красивый удобный гуй для этого всего )   А, да, ещё DLL умеет парсить пока минимально lds скрипты линкера и правильно использовать информацию о секциях памяти для последующего анализа её использования (можно посмотреть сколько % памяти каждого из банков занято и т.п.).


Вывод инфы по секциям памяти.

0
0