解决:0x00007FFF02B86981 (kernel32.dll)处(位于 .exe 中)引发的异常: 0xC0000005: 读取位置 0x00007FFEC1C722A8 时发生访问冲突。

此异常定位在断点的语句为

   if (!_CrtIsValidPointer(pHead->szFileName, 1, FALSE) || IsBadReadPtr(pHead->szFileName,1))

容易发现具体错误为此语句的pHead ->szFileName为异常的内存,导致无法访问。

解决:

执行到此语句通常为退出main函数之后出现,由此推断是全局模块或第三方库程序中的内存异常。

检查全局资源或库程序中的内存资源是否完成了释放。

如:

确保:在卸载程序集(FreeLibrary)之前,调用delete或free相关的接口删除先前在全局或dll中创建的资源(内存);

注意:在低版本的Visual Studio中会跳过此异常,但是在高版本的vs中在程序退出时会报错。

发布了56 篇原创文章 · 获赞 18 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/iMatt/article/details/105146504