Я сбрасываю свою RAM (ее часть - только сегмент кода), чтобы найти, где находится функция C. У меня нет файла карты, и я не знаю, что именно делают процедуры загрузки/инициализации.C - Как создать шаблон в сегменте кода, чтобы распознать его в дампе памяти?
Загрузите свою программу в ОЗУ, а затем, если я сброшу ОЗУ, очень сложно найти, где именно находится функция. Я хотел бы использовать разные сборки шаблонов в источнике C, чтобы распознавать их в дампе памяти.
Я судимый начать все функции с различным первым переменным, содержащим именем функции, как:
char this_function_name[]="main";
, но он не работает, потому что эта строка будет помещена в сегменте данных.
У меня есть простой 16-разрядный RISC-процессор и экспериментальный собственный компилятор (без GCC или каких-либо известных). Система имеет 16 Мб ОЗУ, совместно используемую другими приложениями (загрузчик, загрузчик). Почти невозможно найти определенную последовательность N NOP или smth. как 0xABCD. Я хотел бы найти все функции в ОЗУ, поэтому мне нужны уникальные идентификаторы функций, видимых в RAM-дампе.
Что было бы лучшим образцом для сегмента кода?
Какой компилятор/ОС? –
@ Рихард: встроенная платформа, экспериментальный процессор и компилятор – psihodelia
Ugh. Получите файл карты, как если бы ваша жизнь зависела от него. –