CRT デバッグ ヒープ

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

エディション

Visual Basic

C#

F#

C++

Web Developer

Express

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

ネイティブのみ

トピック該当なし

Pro、Premium、Ultimate

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

ネイティブのみ

トピック該当なし

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

このセクションの内容

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

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

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

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

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

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

関連項目

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