Ado连接内存清理问题讨论

jianzhanger 2012-09-10 11:08:49
一直用ado连接oracle,连接串使用OraOLEDB,一直没有问题
最近因为需要,使用MSDAORA连接串,退出程序时,出现windows错误,而且并不是每次都出现
单步调式至crt0dat.c文件的doexit函数的
if ( *onexitend != NULL && *onexitend != _encoded_null())
(*(_PVFV)_decode_pointer(*onexitend))();
处出现异常中断。
个人感觉可能是出现野指针/内存越界/内存回收失败之类的错误
请教各位有没有出现类似情况,如何处理?
...全文
104 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianzhanger 2012-09-11
  • 打赏
  • 举报
回复
没人回答,顶下
zyq5945 2012-09-10
  • 打赏
  • 举报
回复
加异常捕获看是什么错误
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();
}
jianzhanger 2012-09-10
  • 打赏
  • 举报
回复
补充一点:win7没有出现这种情况,难道是前不久更新过ado的原因
jianzhanger 2012-09-10
  • 打赏
  • 举报
回复
报错是在MFC退出的时候,也就是XXXApp.cpp的析构函数,本身ado的代码是没有错误的。

[Quote=引用 2 楼 的回复:]

加异常捕获看是什么错误
C/C++ code
try
{
//你的ADO代码
}
catch (_com_error& e)
{
CString strMsg;
strMsg.Format(_T("错误描述:%s\n错误消息%s"),
(LPCTSTR)e.Description(),
(LPCTSTR)e.ErrorMessage());
AfxM……
[/Quote]

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧