还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

mfc110d.dll!ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>() 行 291

来源:清泛原创     2016-07-21 15:33:07    人气:     我有话说( 0 人参与)

> msvcr110d.dll!_CrtIsValidHeapPointer(const void * pUserData) 行 2036 C++ msvcr110d.dll!_free_dbg_nolock(void * pUserDa...

> msvcr110d.dll!_CrtIsValidHeapPointer(const void * pUserData) 行 2036 C++

  msvcr110d.dll!_free_dbg_nolock(void * pUserData, int nBlockUse) 行 1322 C++

  msvcr110d.dll!_free_dbg(void * pUserData, int nBlockUse) 行 1265 C++

  mfc110d.dll!CAfxStringMgr::Free(ATL::CStringData * pData) 行 169 C++

  mfc110d.dll!ATL::CStringData::Release() 行 118 C++

  mfc110d.dll!ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>() 行 291 C++

  mfc110d.dll!ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >() 行 1241 C++
...

 

报错如图,从堆栈来看是CString释放的时候崩溃。导致这种情况的原因可能有:

定义了CString的类成员,但是在传入其他函数使用过程中,被释放过(如 WritePrivateProfileString 函数,会对传入的字符串进行释放),然后该类在析构时再次释放CString时发生如图的错误。

解决方法:对那些会释放字符串的函数,调用时不要用成员变量传入,而应使用临时变量。

CSimpleStringT

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: