| Предыдущий | Следующий |
| 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 инструкции детерминированно воспроизводит проблему.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.