在mobile平台上写代码久了,平时的时候都是自己给出检索内存泄漏的方案的。但是在win32下的开发,内存泄漏的检索式如此的简单。在windows下,定义有这样一个宏_CrtDumpMemoryLeaks。它可以帮助你在任何地方打印出当年的内存使用情况,比如说当前有多少内存使用了没有被释放掉。
比如说你有这样一段程序:
如果执行以下,在输出里面可以看到这样的一段文字:
Detected memory leaks!
Dumping objects ->
{86} normal block at 0x003A6C10, 400 bytes long.
Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
Object dump complete.
很高级啊!至少到这一步,你知道了这里有内存泄漏了(当然实际上这里的例子进程结束的时候,系统还是会把这块内存回收的),如果我们想进一步地看到具体哪一行分配的内存呢?这个更高级一点,就需要多做点事情了。首先你要定义一个新的头文件,用它来重定义一下new操作符,下面就是这个MyMemoryNew.h