MFC查内存泄漏方法
此方法仅使用于固定内存地址的泄漏问题(如果地址不固定,需要多次尝试,会比较难找,或者是主动分析才能找得到)
工作中MFC工程调试遇到关闭工程时,输出视图出现内存泄漏,如下图所示:
在theApp.InitInstance()中加上如下接口:
_CrtSetBreakAlloc(34719); // 测试内存泄漏,参数是上图中泄漏的地址
如下图所示
再次启动程序,触发断点,如下图:
点击中断按钮,在调用堆栈视图中,查找到内存泄漏的问题所在,是下图中new了一个对象放到map容器中
所以做了map容器的清理操作,如下图:
再次测试,关闭程序时,输出窗口已经不再出现内存泄漏问题,如下图所示。