#include <crtdbg.h>
#ifdef _DEBUG //重载一下new函数,这样能得到使用new 开辟空间而发生泄漏的文件和所在行,这就是定位
#define new new(_NORMAL_BLOCK, __FILE__, __LINE__)
#endif
void EnableMemLeakCheck() //用于检测是否有内存泄漏。
{
_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG)|_CRTDBG_LEAK_CHECK_DF);
}
void main()
{
EnableMemLeakCheck();
int *leak = new int[10];
}
在c语言中malloc\free也可以快速定位到,在crtdbg.h当中已经做了重载,不需要重新做。
快速定位内存泄漏之处
最新推荐文章于 2024-05-22 15:48:51 发布