事件 BEX64 意味着什么?

0x4*_*f6e 6 windows-server-2008-r2

最近,我不得不处理应用程序因问题签名而崩溃的情况,例如:

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
Run Code Online (Sandbox Code Playgroud)

有一些参考资料BEX代表“缓冲区溢出异常”,并且在某种程度上与数据执行保护相关。还提到了术语“分支扩展错误”。但没有太多具体内容。我能找到的最好的内容是 technet 文章中 DEP 错误签名示例中的简短提及:

指示缓冲区溢出 (/GS) 或 DEP 异常(BEX64 指示 64 位版本的 Windows 上的缓冲区溢出 (/GS) 或 DEP 异常)

来源:《数据执行预防》

因此,我的问题。什么是BEX64?在什么情况下会产生这样一个名称的事件?是否有所有错误签名代码的列表?


顺便说一句,我发现的问题是由于 AVX 指令集在 CPU 级别上可用,但在操作系统级别(Windows 2008 R2 RTM)上不受支持。正在加载的 DLL 之一使用了msvcr120!log函数,该函数正在调用 AVX 指令之一,从而导致崩溃。