Що таке формат налагодження ELF?
(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.