最近,我不得不处理一个应用程序崩溃的情况,其问题特征如下:
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
代表“缓冲区溢出异常”,并且与数据执行保护有某种关联。还提到了术语“分支扩展错误”。但没有太多细节。我能找到的最好的信息是 Technet 文章中 DEP 错误签名示例中的简要提及:
表示缓冲区溢出(/GS)或 DEP 异常(BEX64 表示 Windows 64 位版本上的缓冲区溢出(/GS)或 DEP 异常)
来源:“数据执行保护”
因此,我的问题是。这是什么BEX64
?在什么情况下会产生具有此名称的事件?是否有所有错误签名代码的列表?
顺便提一下,我遇到的问题是由于 AVX 指令集在 CPU 级别可用,但在操作系统级别(Windows 2008 R2 RTM)不受支持。正在加载的其中一个 DLL 使用了msvcr120!log
调用 AVX 指令之一的函数,这导致崩溃。