解决C++Exception Thrown:出现在VS2017locale0.cpp和delete_scalar.cpp文件中的异常问题
更新时间:2026年04月09日 08:39:37 作者:OrangRain
文章主要讨论了在VS2017中可能出现的C++异常,并指出异常可能出现在locale0.cpp和delete_scalar.cpp文件,建议重点检查使用malloc或new开辟的内存是否正确
C++Exception Thrown:出现在VS2017locale0.cpp和delete_scalar.cpp文件异常
异常若出现在以下地方时
_MRTIMP2_PURE_NPURE void __CLRCALL_PURE_OR_CDECL locale::_Locimp::_Locimp_dtor(_Locimp* _This)
{ // destruct a _Locimp
_BEGIN_LOCK(_LOCK_LOCALE) // prevent double delete
for (size_t count = _This->_Facetcount; 0 < count; )
if (_This->_Facetvec[--count] != 0)
delete _This->_Facetvec[count]->_Decref();
free(_This->_Facetvec);
_END_LOCK()
}
_MRTIMP2_PURE_NPURE void __CLRCALL_PURE_OR_CDECL _Locinfo::_Locinfo_ctor(_Locinfo *pLocinfo, const char *locname)
{ // switch to a named locale
const char *oldlocname = setlocale(LC_ALL, 0);
pLocinfo->_Oldlocname = oldlocname == 0 ? "" : oldlocname;
if (locname != 0)
locname = setlocale(LC_ALL, locname);
pLocinfo->_Newlocname = locname == 0 ? "*" : locname;
}
_CRT_SECURITYCRITICAL_ATTRIBUTE
void __CRTDECL operator delete(void* const block) noexcept
{
#ifdef _DEBUG
_free_dbg(block, _UNKNOWN_BLOCK);
#else
free(block);
#endif
}
可以重点检查
使用malloc函数或new方法开辟的内存是否正确。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
VSCode远程代码开发及DNS隧道端口转发实现远程办公代码
这篇文章主要介绍了VSCode远程代码开发及DNS隧道端口转发实现远程办公,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-04-04


最新评论