次の方法で共有


CRT デバッグ ヒープ

更新 : 2007 年 11 月

このトピックの内容は、次の製品に該当します。

Edition

Visual Basic

C#

C++

Web Developer

Express

トピック該当なし トピック該当なし

ネイティブのみ

トピック該当なし

Standard

トピック該当なし トピック該当なし

ネイティブのみ

トピック該当なし

Pro/Team

トピック該当なし トピック該当なし

ネイティブのみ

トピック該当なし

表の凡例 :

トピック該当

対象

トピック該当なし

該当なし

トピックは該当しますが、コマンドは既定では非表示です

既定で非表示のコマンド

ここでは、CRT デバッグ ヒープについて詳しく解説します。

このセクションの内容

  • メモリ管理とデバッグ ヒープ
    ヒープ関数のデバッグ バージョンについて説明します。これらの関数により、割り当てたバッファの末尾を超えた書き込みと、メモリ リーク (不要になったメモリ割り当てを解放し忘れること) という、メモリ割り当てにおいて最も困難な 2 つの問題が解決されます。

  • デバッグ ヒープ上のメモリ ブロックの型
    デバッグ ヒープでメモリ ブロックの割り当てに適用される 5 つの型について説明します。割り当ての型によって、メモリ リークの検出やメモリ状態をレポートするときの追跡方法やレポート方法が異なります。

  • デバッグ ヒープ
    デバッグ ヒープの使用法について説明します。デバッグ バージョンに置き換えられる呼び出し、メモリ ブロック解放の影響、コードの中からアクセスする必要のあるデバッグ機能、_crtDbgFlag ビット フィールドを変更してフラグの新しい状態を作成する手順、メモリ リークの自動検出をオンにして _CRT_BLOCK 型のブロックに関するチェックをオフにするコード例などを扱います。

  • C++ でのデバッグ ヒープ
    C++ の new 演算子および delete 演算子のデバッグ バージョンと、_CRTDBG_MAP_ALLOC を使用する場合の影響について説明します。

  • ヒープの状態をレポートする関数
    _CrtMemState 構造体について説明します。これを使うと、ヒープの状態のスナップショットを取得できます。また、ヒープの状態と内容をレポートしたり、その情報を利用してメモリ リークやその他の問題を検出したりするための CRT 関数についても説明します。

  • ヒープ割り当て要求の追跡
    不正となるヒープ割り当て呼び出しを特定する方法について説明します。

関連するセクション

  • CRT のデバッグ技術
    CRT デバッグ ライブラリの使用、レポート用マクロ、malloc_malloc_dbg の相違、デバッグ用フック関数の作成、CRT デバッグ ヒープなど、C ランタイム ライブラリのデバッグ手法について説明するリンクを提供します。