다음을 통해 공유


CRT 디버그 힙

이 항목은 다음 언어에 적용됩니다.

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

항목이 적용되지 않음 항목이 적용되지 않음 항목이 적용되지 않음

네이티브 전용

항목이 적용되지 않음

Pro, Premium 및 Ultimate

항목이 적용되지 않음 항목이 적용되지 않음 항목이 적용되지 않음

네이티브 전용

항목이 적용되지 않음

이 항목에서는 CRT 디버그 힙에 대해 자세히 설명합니다.

단원 내용

  • 메모리 관리 및 디버그 힙
    힙 함수의 디버그 버전에 대해 설명합니다. 이들 함수는 가장 다루기 힘든 두 가지 메모리 할당 문제, 즉 할당된 버퍼의 끝 부분을 덮어쓰는 문제와 불필요한 할당을 해제할 수 없는 메모리 누수 문제에 대한 해결 방법을 제시합니다.

  • 디버그 힙의 블록 형식
    다섯 가지 할당 형식에 지정되는, 디버그 힙의 메모리 블록에 대해 설명합니다. 누수 탐지와 상태 보고 등의 목적에 따라 이러한 할당 형식을 다르게 추적하고 보고합니다.

  • 디버그 힙
    디버그 힙의 사용 방법에 대한 정보를 제공합니다. 이러한 정보에는 디버그 버전으로 확인되는 호출, 메모리 블록 해제 시에 발생하는 상황, 코드 내에서 액세스해야 할 디버그 기능, _crtDbgFlag 비트 필드를 변경하고 플래그에 새로운 상태를 만드는 단계, 자동 누수 탐지를 설정하고 _CRT_BLOCK 형식의 블록 확인을 해제하는 코드 예제 등이 있습니다.

  • C++에서 디버그 힙 사용
    C++ newdelete 연산자의 디버그 버전과 _CRTDBG_MAP_ALLOC사용 효과에 대해 설명합니다.

  • 힙 상태 보고 함수
    힙 상태에 대한 요약 스냅숏을 포착하는 데 사용할 수 있는 _CrtMemState 구조체에 대해 설명합니다. 이 항목에서는 힙의 상태와 내용을 보고하고 그 정보를 사용하여 메모리 누수 등의 문제를 찾아내는 CRT 함수도 소개합니다.

  • 힙 할당 요청 추적
    잘못된 특정 힙 할당 호출을 식별하는 방법에 대해 설명합니다.

관련 단원

  • CRT 디버깅 기술
    CRT 디버그 라이브러리 사용, 보고서 매크로, malloc_malloc_dbg의 차이, 디버그 후크 함수 작성, CRT 디버그 힙 등과 같은 C 런타임 라이브러리의 디버깅 기술에 대해 설명합니다.