Site icon EfmSoft

Что означает код NTSTATUS 0x80000002 (STATUS_DATATYPE_MISALIGNMENT)?

 
Предыдущий Следующий
STATUS_GUARD_PAGE_VIOLATION STATUS_BREAKPOINT

STATUS_DATATYPE_MISALIGNMENT

Что означает STATUS_DATATYPE_MISALIGNMENT

STATUS_DATATYPE_MISALIGNMENT означает, что инструкция load/store получила адрес, не удовлетворяющий требованиям выравнивания для данного типа или архитектуры.

Что проверить

  • Faulting address, тип/размер доступа и требуемый alignment инструкции.
  • Pointer arithmetic и смещения полей после casts.
  • #pragma pack/structure packing и ABI на границе разных compiler/language/module.

Диагностика

Особенно подозрительны указатели внутрь byte buffer, приведённые к более строго выровненному типу. Если wire/file format не гарантирует alignment, копируйте поле в правильно выровненный объект либо используйте безопасное чтение по байтам. Повтор той же misaligned инструкции детерминированно воспроизводит проблему.

Технические ссылки


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

Exit mobile version