Ado连接内存清理有关问题讨论
Ado连接内存清理问题讨论
一直用ado连接oracle,连接串使用OraOLEDB,一直没有问题
最近因为需要,使用MSDAORA连接串,退出程序时,出现windows错误,而且并不是每次都出现
单步调式至crt0dat.c文件的doexit函数的
if ( *onexitend != NULL && *onexitend != _encoded_null())
(*(_PVFV)_decode_pointer(*onexitend))();
处出现异常中断。
个人感觉可能是出现野指针/内存越界/内存回收失败之类的错误
请教各位有没有出现类似情况,如何处理?
------解决方案--------------------
加异常捕获看是什么错误
一直用ado连接oracle,连接串使用OraOLEDB,一直没有问题
最近因为需要,使用MSDAORA连接串,退出程序时,出现windows错误,而且并不是每次都出现
单步调式至crt0dat.c文件的doexit函数的
if ( *onexitend != NULL && *onexitend != _encoded_null())
(*(_PVFV)_decode_pointer(*onexitend))();
处出现异常中断。
个人感觉可能是出现野指针/内存越界/内存回收失败之类的错误
请教各位有没有出现类似情况,如何处理?
------解决方案--------------------
加异常捕获看是什么错误
try
{
//你的ADO代码
}
catch (_com_error& e)
{
CString strMsg;
strMsg.Format(_T("错误描述:%s\n错误消息%s"),
(LPCTSTR)e.Description(),
(LPCTSTR)e.ErrorMessage());
AfxMessageBox(strMsg);
}
catch(CException* pEx)
{
pEx->ReportError();
pEx->Delete();
}