Site icon EfmSoft

Что означает код NTSTATUS 0xC0000094 (STATUS_INTEGER_DIVIDE_BY_ZERO)?

 
Предыдущий Следующий
STATUS_FLOAT_UNDERFLOW STATUS_INTEGER_OVERFLOW

STATUS_INTEGER_DIVIDE_BY_ZERO

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

STATUS_INTEGER_DIVIDE_BY_ZERO означает, что целочисленная инструкция деления получила divisor, равный нулю.

Что сохранить

  • Faulting instruction и operand width.
  • Dividend и divisor из регистров или памяти непосредственно в момент exception.
  • Call stack и исходные входные данные, из которых рассчитан divisor.

Как искать причину

Подтвердите ноль на уровне инструкции, затем трассируйте значение назад к выражению в исходном коде. Проверьте narrowing casts, signed/unsigned conversion и race, при котором другой поток мог обнулить значение между проверкой и делением. Это отличается от integer overflow: здесь проблема именно в нулевом divisor.

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


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

Exit mobile version