DEBUG_NEW
更新 : 2007 年 11 月
メモリ リークの検出を補助します。
#define new DEBUG_NEW
解説
new 演算子を使用してヒープ領域を割り当てるプログラムでは、すべての位置で DEBUG_NEW を使えます。
デバッグ モード (_DEBUG シンボルが定義されたとき) では、DEBUG_NEW はメモリ割り当てを行ったオブジェクトのファイル名と行番号を追跡し、保持します。CMemoryState::DumpAllObjectsSince メンバ関数を使用すると、DEBUG_NEW で割り当てられた各オブジェクトは、割り当てられたファイル名と行番号と共に表示されます。
DEBUG_NEW を使うには、ソース ファイルで次のように指定します。
#define new DEBUG_NEW
一度このディレクティブを挿入すると、new を使用している箇所にプリプロセッサが DEBUG_NEW を挿入し、MFC が後の処理を行います。プログラムのリリース バージョンをコンパイルすると DEBUG_NEW は単に new 演算と解釈され、ファイル名や行番号情報は生成されません。
メモ : |
---|
MFC の以前のバージョン (4.1 以前) では、IMPLEMENT_DYNCREATE マクロまたは IMPLEMENT_SERIAL マクロを呼び出すすべてのステートメントの後に #define ステートメントを記述する必要がありました。現在のバージョンでは、その必要はありません。 |
必要条件
ヘッダー : afx.h