Назад | Перейти на главную страницу

Что означает событие BEX64?

Недавно мне пришлось столкнуться с ситуацией, когда приложение вылетало из-за проблемной сигнатуры, например:

Problem Event Name:BEX64
...
Fault Module Name:StackHash_1dc2
Fault Module Version:0.0.0.0
Fault Module Timestamp:00000000
Exception Offset:0000000000000000
Exception Code:c0000005
Exception Data:0000000000000008
OS Version:6.1.7600.2.0.0.274.10

Есть некоторые ссылки, которые BEX означает «исключение переполнения буфера» и как-то связано с предотвращением выполнения данных. Также упоминается термин «ошибки расширения ветки». Но не слишком много конкретики. Лучшее, что я смог найти, - это краткое упоминание в примере подписи ошибки DEP в статье technet:

Указывает на переполнение буфера (/ GS) или исключение DEP (BEX64 указывает на переполнение буфера (/ GS) или исключение DEP в 64-разрядных версиях Windows)

Источник: "Предотвращение выполнения данных"

Отсюда мой вопрос. Что BEX64? В каких случаях может быть произведено событие с таким названием? Есть ли список всех кодов подписи ошибок?


Кстати, проблема, которую я обнаружил, связана с тем, что набор инструкций AVX доступен на уровне ЦП, но не поддерживается на уровне ОС (Windows 2008 R2 RTM). Одна из загружаемых библиотек DLL используется msvcr120!log функция, которая вызывала одну из инструкций AVX, что привело к сбою.