Що таке формат налагодження ELF?

0 Comments

Виконуваний файл і формат зв’язування

Виконуваний файл і формат зв’язування

В обчислювальній техніці Виконуваний і компонований формат (ELF, раніше називався Extensible Linking Format) — це поширений стандартний формат файлів для виконуваних файлів, об’єктного коду, спільних бібліотек і дампів ядра.

https://en.wikipedia.org › Executable_and_Linkable_Format

(ELF) двійкові інтерфейси програми (ABI) Використання окремого об’єктного файлу ELF для зберігання налагоджувальної інформації дає змогу програмі аналізу програми завантажувати певну інформацію лише за потреби.

. розділ debug_info ELF містить інформацію, згенеровану компіляторами для опису вихідного коду під час налагодження, зберігаючи символи та його тип, область, файл, номер рядка тощо.

Він повідомляє ядру, як створити процес і відобразити сегменти в пам’яті. Щоб запустити програму, ядро ​​завантажує заголовок ELF і таблицю заголовків програми в пам'ять. По-друге, він завантажує в пам’ять вміст, указаний у LOAD у таблиці заголовків програми, а також перевіряє, чи потрібен інтерпретатор.

Довжина заголовка ELF становить 52 або 64 байти для 32-розрядних і 64-розрядних двійкових файлів відповідно. 0x7F, а потім ЕЛЬФ ( 45 4c 46 ) в ASCII; ці чотири байти складають магічне число. Цей байт має значення 1 або 2 для позначення 32- або 64-розрядного формату відповідно.

ОС QNX використовує ELF (Executable and Linking Format) двійковий формат. ELF не тільки спрощує завдання створення спільних бібліотек, але й покращує динамічне завантаження модулів під час виконання. На наступній діаграмі ми показуємо два подання файлу ELF: подання зв’язування та подання виконання.

Перейдіть до вмісту . розділ debug_info та перевірте наявність записів «Блок компіляції».. Кожен вихідний файл, скомпільований із символами налагодження, матиме відповідний запис, указаний у остаточному файлі ELF.