メモリ ブロックの型の解釈
更新 : 2007 年 11 月
このトピックの内容は、次の製品に該当します。
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
ネイティブのみ |
|||
Standard |
ネイティブのみ |
|||
Pro/Team |
ネイティブのみ |
表の凡例 :
対象 |
|
該当なし |
|
既定で非表示のコマンド |
「メモリ リーク検出の有効化」で説明されているように、メモリ リーク情報では、リークしたメモリの各ブロックが normal ブロック、client ブロック、または CRT ブロックとして識別されます。通常、情報として表示される型は、normal ブロック型と client ブロック型だけです。
normal ブロックは、プログラムによって割り当てられる通常のメモリです。
client ブロックは、デストラクタを必要とするオブジェクト用に、MFC プログラムが使用する特殊なメモリ ブロックです。MFC の new 演算は、作成されるオブジェクトに応じて、normal ブロックまたは client ブロックを作成します。
CRT ブロックは、CRT ライブラリが独自に使用するために割り当てるメモリ ブロックです。これらのブロックの解放処理は CRT ライブラリが行うため、重大な問題 (CRT ライブラリの破損など) があるとき以外は、CRT ブロックがメモリ リーク レポートに表示されることはありません。
ほかにも、メモリ リーク情報には表示されないブロック型が 2 つあります。
free ブロックは、解放済みのメモリ ブロックです。
ignore ブロックは、メモリ リーク レポートに出力しないように明確にマークされているブロックです。