此异常定位在断点的语句为
if (!_CrtIsValidPointer(pHead->szFileName, 1, FALSE) || IsBadReadPtr(pHead->szFileName,1))
容易发现具体错误为此语句的pHead ->szFileName为异常的内存,导致无法访问。
解决:
执行到此语句通常为退出main函数之后出现,由此推断是全局模块或第三方库程序中的内存异常。
检查全局资源或库程序中的内存资源是否完成了释放。
如:
确保:在卸载程序集(FreeLibrary)之前,调用delete或free相关的接口删除先前在全局或dll中创建的资源(内存);
注意:在低版本的Visual Studio中会跳过此异常,但是在高版本的vs中在程序退出时会报错。