Qt4.8.3的严重bug?
开发环境:VS2010,Qt4.8.3。
发现一个严重问题,调用QMessageBox的warning,critical或者information后(调用question没问题),程序退出时,不会调用DLL的DllMain(正常情况应该调用,并且第二个参数是DLL_PROCESS_DETACH)方法。
没有调用上面提到的“QMessageBox的warning,critical或者information”三个方法时,是没有问题的。
Debug后发现,是因为程序退出时,ExitProcess过程中发生了异常,因为异常在系统的DLL中,目前还不太好定位,初步估计是因为Qt的某些方法调用破坏了程序的某些段。
为了证明我的程序没有问题,特意写了一个非常简单的Demo,见附件,可以在DllMain中断点看一下,只要调用了QMessageBox的那三个方法,就会出问题,否则就不会有问题。
http://pan.baidu.com/share/link?shareid=118197&uk=2147844989