Qt5Core.dll 崩溃

Qt5Core.dll crashing

我有一个使用 Qt 的应用程序,它可以在某些机器(Windows 7 64 位,Windows 服务器标准 32 位)和其他机器(Windows Server 2012 R2)上运行64 位,Windows 10 Pro 64 位)它给出了 SEH 异常。我已经尝试调试了一段时间,但我不知道如何找到根。

此异常未被 try/catch 捕获,我无法使用 __try/__except 因为它不能与第一个一起使用,而且它说它只能用于不需要展开的代码(如果我没记错的话)。

Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: gpeh_parser.exe
  Application Version:  0.0.0.0
  Application Timestamp:    584051a0
  Fault Module Name:    Qt5Core.dll
  Fault Module Version: 5.1.1.0
  Fault Module Timestamp:   521a52ae
  Exception Code:   c0000005
  Exception Offset: 00023087
  OS Version:   6.3.9600.2.0.0.272.7
  Locale ID:    11274
  Additional Information 1: 5861
  Additional Information 2: 5861822e1919d7c014bbb064c64908b2
  Additional Information 3: 01d7
  Additional Information 4: 01d7340064827245f2249cd1f1a7c264

我也尝试过使用 windbg,但未能找到问题的根源(尽管这可能是由于我对它的经验很少)。

我还能做些什么来了解发生了什么?

我发现编译器上的 enabling /EHa(结构化异常处理)解决了我的问题,因为我可以使用默认的异常处理代码 (try/catch)。

将此附加到我的 .pro 中:

win* {
   QMAKE_CXXFLAGS_EXCEPTIONS_ON = /EHa
   QMAKE_CXXFLAGS_STL_ON = /EHa
}