c++中追踪程序是否有内存泄漏

在main()函数中加上如下代码:

void main()
{
	//用来追踪是否有内存泄漏
	int tmpDbgFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG); //得到当前的CrtDbgFlag状态
	tmpDbgFlag |= _CRTDBG_LEAK_CHECK_DF;                  //打开内存泄漏自动检查开关
	_CrtSetDbgFlag(tmpDbgFlag);                           //设置CRT调试堆的新状态

	int * p = new int[4];
	return;
}

在debug窗口中会进行如下提示:

Detected memory leaks!
Dumping objects ->
{131} normal block at 0x00384978, 16 bytes long.
 Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD 
Object dump complete.

关于CRT调试堆的详细介绍:http://blog.csdn.net/ugg/article/details/1585639(没怎么看懂~~)

原文链接: https://www.cnblogs.com/newhand-liu/archive/2012/03/05/2793306.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    c++中追踪程序是否有内存泄漏

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/43371

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 下午8:01
下一篇 2023年2月8日 下午8:01

相关推荐