我们的软件(32位代码)由于一条非法指令而在我们客户的一台计算机上崩溃(异常:代码c000001d)。崩溃很早就在程序启动时发生,很可能是在某些c ++启动代码中。
Windows在该计算机上报告的CPU是“ Intel Xeon Gold 5115 @ 2.40Ghz(4个处理器)”,而操作系统是“ Windows Sever 2012 R2 Standard”。”
显然,这是引起问题的AVX512指令(以0x62、0xf1开头)。
我们的软件使用Visual Studio 2019和以下(可能相关的)设置进行编译:
在这里吸引我的是,该软件的先前版本似乎无法在同一台计算机上运行,但是该版本是使用Visual Studio 2017(平台工具集 Visual Studio 2015(v140))生成的>代替 v142 并使用C ++语言标准: ISO C ++ 14 代替 ISO C ++ 17 。
所有其他设置均相同。这些是这两个版本之间的主要区别,其余仅是代码中的较小更正。
这就是我现在拥有的所有信息。
有人遇到过类似的问题吗?或至少有一些线索?