Что означает код NTSTATUS 0xC000008C (STATUS_ARRAY_BOUNDS_EXCEEDED)?

 
Предыдущий Следующий
STATUS_RESOURCE_NAME_NOT_FOUND STATUS_FLOAT_DENORMAL_OPERAND

STATUS_ARRAY_BOUNDS_EXCEEDED

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

STATUS_ARRAY_BOUNDS_EXCEEDED означает, что выполнение достигло проверки границ массива и индекс оказался вне допустимого диапазона.

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

  • Exception address, стек и значения индекса/длины в момент сбоя.
  • Расчёты count - 1, signed/unsigned conversions и переполнение при умножении размера элемента.
  • Соответствие длины массива метаданным, полученным из файла, сети или IPC.
  • Не изменился ли container между проверкой длины и фактическим доступом.

Как локализовать

Это не общий признак нехватки памяти. Ищите первый неверный индекс или размер, который привёл к bounds check. Если исключение появляется далеко от места формирования индекса, включите дополнительные проверки на границе входных данных и сохраните исходные length/count значения до преобразований.

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


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