C++VS 2012メモリリーク検出


VS 2012に一部のコードを追加することで、メモリリークを検出する役割を果たすことができる.
今日受け取ったばかりの解決策は、原理がまだはっきりしていない.先に分かち合おう
1.ヘッダファイルに次のコードを追加
#ifdef _DEBUG
#define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__)
#else
#define DEBUG_CLIENTBLOCK
#endif
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
#ifdef _DEBUG
#define new DEBUG_CLIENTBLOCK
#endif

2.main関数に追加
	_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF);

プログラムがDEBUGモードで実行されると、出力ウィンドウにメモリ漏洩情報が表示されます