| Предыдущий | Следующий |
| STATUS_CANT_ENABLE_DENY_ONLY | STATUS_FLOAT_MULTIPLE_TRAPS |
STATUS_FLOAT_MULTIPLE_FAULTS
Что означает STATUS_FLOAT_MULTIPLE_FAULTS
STATUS_FLOAT_MULTIPLE_FAULTS указывает, что при обработке состояния вычислений с плавающей точкой обнаружено несколько fault-условий, а не одно однозначное арифметическое исключение.
Что проверить
Для такого статуса особенно важно не анализировать только последнюю инструкцию. Сохраните полный exception context, управляющие и status-регистры x87/SSE и последовательность операций перед доставкой исключения.
- Проверьте, какие флаги исключений уже были установлены до текущей инструкции и когда они очищались.
- Сопоставьте маски divide-by-zero, overflow, underflow, invalid operation и denormal с фактическими флагами.
- Если код использует отложенную проверку состояния FPU, найдите первую операцию, которая выставила fault-флаг, а не только точку последующей доставки.
Как подтвердить исправление
После исправления тот же набор входных данных должен проходить без накопления нескольких непогашенных fault-флагов. Не используйте общий __except как замену анализу численной причины: он изменит управление, но не восстановит корректное состояние вычислений.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.