MFCで簡単にメモリリークの検出

すべてのソースコード (*.cpp) のヘッダファイルをインクルードしたあとに以下を追加します。

#ifdef	__AFX_H__            // MFCのウィンドウを使う場合に限定しています
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#endif

そして実行して普通に終了させてみる。

メモリリーク(解放し忘れ)があると

Detected memory leaks!

と表示されるので

Dumping objects ->

で示されているオブジェクトを解放するコードを追加する。

ネタ元