Есть программа на си. компилируется под AVR, но думаю это не принципиально. Собирается со всей отладочной информацией.
Необходимо как-то (жедательно из готового elf-а, но можно и из любых других файлов, создаваемых на этапе компиляции) извлечь максимум информации о переменных (имена и адреса в ОЗУ). Для структур нужно получить значения полей и их названия. Нужно это все для следующего: много устройств, под отладку все поставить нереально. Иногда случаются assert-ы. При попадании в такой assert устройство начинает выгоять дамп памяти в сом-порт. Задача по дампу восстановить значения как можно большего числа переменных в программе. Практически все данные упакованы в структуры и являются глобальными.