WTL程序中使用 DEBUG_NEW检测内存泄露
熟悉MFC编程的人都知道在MFC中有个宏定义 DEBUG_NEW,只要在文件头添加几句话即可检测出内存泄露的具体在哪个文件中的哪一行, 比如在文件的开头部分添加如下代码:
1 2 3 | #ifdef _DEBUG #define new DEBUG_NEW #endif |
即可。 在WTL以及普通的SDK中并没有直接给出这样的宏定义, 所以必须自己定义。 其实很简单,和MFC下一样在文件开头出添加几行代码即可,
1 2 3 | #ifdef _DEBUG #define new new(_NORMAL_BLOCK, __FILE__, __LINE__) #endif |
这样就可以使WTL和SDK的程序也能在有内存泄露的情况下显示出具体的代码文件和行数,以便于查找修改。
转载自:FLYBLOG [http://www.flyblog.info]
本文链接地址:http://www.flyblog.info/catprogramming/238.html
相关文章
瓦咔咔~我来了我来了,啥时候教我C语言。。。
回复 小桥流水人家:
从哪里开始呢。。。:)