本文主要是介绍VC6转VS2010后编译成功但程序运行后偶尔出现奔溃问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有一次将vc6的出现转为VS2010后,程序能编译但是运行后偶尔出现奔溃。奔溃图片如下:
1、一开始以为是GDI对象泄露造成的,但排查了并不是,GDI对象泄露可参考:
https://blog.csdn.net/woniulx2014/article/details/83245183
2、另一种可能,解决方法如下:
①在 StdAfx.h头文件中 添加 #include <SDKDDKVer.h> (位置:在 #include <afxwin.h> // MFC core and standard components,这句话前)
②找到 宏定义 WINVER 将 0x0400 改为 0601,_WIN32_WINNT 将 0x0400改为0601。
参考:https://blog.csdn.net/wchengshen/article/details/54466772
3、最终发现是多线程创建socket时部分资源冲突
这篇关于VC6转VS2010后编译成功但程序运行后偶尔出现奔溃问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!