Site icon EfmSoft

Что означает код errno 88 (EBADMACHO)?

 
Также может означать:
КонстантаТипОС
ERROR_NET_WRITE_FAULTОшибка WindowsWindows
ENOTSOCKerrnoLinux
EILSEQerrnoSolaris
FTDISK_INTERNAL_ERRORКод BSODWindows
VOLMGRX_INTERNAL_ERRORКод BSODWindows
Предыдущий Следующий
ENOTSOCK EILSEQ

EBADMACHO

EBADMACHO — ошибка загрузки программ Darwin для неправильно сформированного файла Mach-O. Это структурный диагноз: загрузчик не может безопасно интерпретировать образ как предполагаемый объект Mach-O. Ошибка отличается от несовпадения архитектуры и несовместимой версии динамической библиотеки — оба этих случая возможны для правильно сформированного образа.

Для 64-разрядного образа заголовок Mach-O начинается с полей, включающих магическое значение, тип процессора, тип файла, количество команд загрузки и их суммарный размер. После заголовка расположены команды загрузки; каждая содержит тип и размер. XNU также задаёт правила выравнивания и размещения этих структур. Усечение, случайное изменение двоичного файла, ошибочный распаковщик или неполное развёртывание могут сделать поля или смещения несогласованными.

Чего этот код не означает

Безопасная последовательность диагностики

XNU помечает некоторые команды загрузки как обязательные для исполнения. Если dyld встречает неизвестную обязательную команду, он отклоняет образ, а не игнорирует её. Поэтому важны полный заголовок и весь набор команд загрузки, а не только первые магические байты Mach-O.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version