VS2010 _MFC程序_内存泄露问题 mfc内存泄露vs2010 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有地方忘记的或者 你把malloc的注释掉排除法 使用 DEBUG_NEW macro 这样new而没有delete的地方 在调试输出中会有明显的提示 {2425} normal block at 0x01E41138, 68 bytes long.看见前面这个2425没有?你多试几次。如果几次都有2425这样的块号,你就用_crtBreakAlloc函数设置这个块号。然后再分配这个块号的地址时就会中断下来。你就知道是哪个东西分配的地址了。 哦。对哈。都忘了。在MFC中获得pic空间,经常这样,但是总忘记释放。顺便问下,搞不清楚这几个:CRect rect;CDC *pDC;HDC hDC;CWnd *pwnd;pwnd = GetDlgItem(IDC_PIC); pDC =pwnd->GetDC();hDC= pDC->GetSafeHdc();pwnd->GetClientRect(&rect);这样,ReleaseDC(pdc);之后呢?那个 CWnd的怎么释放撒? 其实我用了opencv里面的函数感觉。排除的好痛苦啊。。 pwnd = GetDlgItem(IDC_PIC); 这个 不需要你释放 嗯 不过,还是有问题 除此之外,全局变量中就有一个vector 了这样声明的:vector< CvPoint> PointVector;然后,在程序退出的时候,这样释放空间的:vector< CvPoint>().swap(PointVector); 对不对 呢。 刚开始跑程序的时候内存使用情况:不过我跑了10min程序后,内存使用情况如下: 额 我刚想说,前后变化不大呢结果程序就崩了。 然后,在程序退出的时候,这样释放空间的:vector< CvPoint>().swap(PointVector);-------------------------------------------释放空间做什么?里面存储的又不是指针! 不是vector 不会释放空间的么。。不是他会提前申请一大块空间,但是他不会自己释放的么我还特意搜的释放方法额 为什么 我只是 运行, 在木有跑程序前,关掉 了这个 对话框 ,还会出现 内存泄露呢vs2010 新建了一个 dlg ,什么都没做,提示:Detected memory leaks!Dumping objects ->f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp(4500) : {270} client block at 0x002DCF90, subtype c0, 56 bytes long.a CObject object at $002DCF90, 56 bytes longc:\users\administrator.qqqpolimqc7hmgn.000\desktop\智驱\test\test\test.cpp(59) : {257} client block at 0x002DC758, subtype c0, 12 bytes long.a CObject object at $002DC758, 12 bytes long{256} client block at 0x002DC8F0, subtype c0, 204 bytes long.a CObject object at $002DC8F0, 204 bytes long哎 很头疼啊 下的 BoundsCheck 安装后,在 10 中也没显示出来。。郁闷哦 http://blog.csdn.net/chenyujing1234/article/details/8075667你看看这个 我也遇到这个问题新建了个工程,加了检查内存的代码,直接就告诉我有内存泄露。看到任务管理器也确实在增加,这应该算是MFC的BUG吧。。什么都没动都有泄露。 可能是opencv 库文件的问题吧,链接上就有内存泄漏了,楼主后来是怎么解决的? vc调试监视窗口变量加上方括号表示什么意思 C++ 参数疑问 MFC 方面的几个问题,大家帮忙瞧瞧。 vc调用com组件 '直到Windows会话结束' 是什么意思? 为什么已提示注册成功的控件在VC中进行添加控件时却找不到这个控件 如何去掉程序的菜单和工具栏阿? 采集卡在98下正常在2000下不正常 超级难题~~~~给分给分!!!! to 侠义之士 the thread xxx has exited with code 1(0x1) VC/MFC 主子对话框如何共用串口???
你多试几次。如果几次都有2425这样的块号,你就用_crtBreakAlloc函数设置这个块号。
然后再分配这个块号的地址时就会中断下来。你就知道是哪个东西分配的地址了。
在MFC中获得pic空间,经常这样,但是总忘记释放。
顺便问下,搞不清楚这几个:CRect rect;
CDC *pDC;
HDC hDC;
CWnd *pwnd;pwnd = GetDlgItem(IDC_PIC);
pDC =pwnd->GetDC();
hDC= pDC->GetSafeHdc();
pwnd->GetClientRect(&rect);
这样,ReleaseDC(pdc);
之后呢?
那个 CWnd的怎么释放撒?
其实我用了opencv里面的函数感觉。排除的好痛苦啊。。
vector< CvPoint> PointVector;
然后,在程序退出的时候,这样释放空间的:
vector< CvPoint>().swap(PointVector); 对不对 呢。
刚开始跑程序的时候内存使用情况:
不过我跑了10min程序后,内存使用情况如下:
额 我刚想说,前后变化不大呢结果程序就崩了。
vector< CvPoint>().swap(PointVector);-------------------------------------------
释放空间做什么?
里面存储的又不是指针!
不是vector 不会释放空间的么。。
不是他会提前申请一大块空间,但是他不会自己释放的么我还特意搜的释放方法额
为什么 我只是 运行, 在木有跑程序前,关掉 了这个 对话框 ,还会出现 内存泄露呢vs2010 新建了一个 dlg ,
什么都没做,提示:Detected memory leaks!
Dumping objects ->
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp(4500) : {270} client block at 0x002DCF90, subtype c0, 56 bytes long.
a CObject object at $002DCF90, 56 bytes long
c:\users\administrator.qqqpolimqc7hmgn.000\desktop\智驱\test\test\test.cpp(59) : {257} client block at 0x002DC758, subtype c0, 12 bytes long.
a CObject object at $002DC758, 12 bytes long
{256} client block at 0x002DC8F0, subtype c0, 204 bytes long.
a CObject object at $002DC8F0, 204 bytes long
哎 很头疼啊 下的 BoundsCheck 安装后,在 10 中也没显示出来。。郁闷哦