在项目的InitInstance入口函数里面添加如下代码
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);//_CrtDumpMemoryLeaks();
_CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_DEBUG);
_CrtSetBreakAlloc(2482);
其中2482表示软件第2482次申请的内存块没释放,这个数字可根据VC++在退出程序后在“输出”栏可查看到,将其改为自己程序的数字即可。
本文介绍了一种在VC++中使用_CrtSetDbgFlag和_CrtSetBreakAlloc函数来定位内存泄漏的方法。通过设置特定标志,可以开启内存分配调试和泄漏检查,并在指定的内存分配次数处设置断点,帮助开发者更有效地找到未释放的内存块。
2235

被折叠的 条评论
为什么被折叠?



