VC++でメモリリークの検出

MFC のメモリリーク検出

以下のマクロを *.cpp の先頭に記述する。

#ifdef	__AFX_H__
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#endif

または、こう。

#include <crtdbg.h>
#define _CRTDBG_MAP_ALLOC
#define new  ::new(_NORMAL_BLOCK, __FILE__, __LINE__)

これをヘッダーに書いておいて、プログラムの先頭(main() の頭とか)で、

_CrtDumpMemoryLeaks();

をコールしておく。

こうすると、メモリリーク情報がダンプされる。


MLEXP. Wiki


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-05-15 (土) 12:07:52 (3108d)