메모리 누수 탐지 및 격리

업데이트: 2007년 11월

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

Edition

Visual Basic

C#

C++

Web Developer

Express

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

네이티브 전용

항목이 적용되지 않음

Standard

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

네이티브 전용

항목이 적용되지 않음

Pro 및 Team

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

네이티브 전용

항목이 적용되지 않음

표의 범례:

항목이 적용됨

해당

항목이 적용되지 않음

해당 없음

항목이 적용되지만 명령은 기본적으로 숨겨짐

명령은 기본적으로 숨겨져 있습니다.

메모리를 동적으로 할당하거나 할당 취소하는 기능은 C/C++ 프로그래밍의 가장 강력한 기능 중 하나입니다. 그러나 장점이 약점이 될 수도 있다는 점을 기억하십시오. C/C++ 응용 프로그램 역시 메모리 처리 문제라는 일반적인 버그를 안고 있습니다.

가장 미묘하고 찾아 내기 어려운 버그가 바로 메모리 누수입니다. 즉, 이미 할당한 메모리를 적절하게 취소하지 못하는 오류입니다. 한 번 정도 발생하는 메모리 누수는 알아 내지 못하는 경우가 많지만, 메모리 누수가 심하거나 누수가 점차 증가하는 프로그램의 경우에는 성능이 저하되거나 메모리 고갈 등의 장애가 발생할 수 있습니다. 더 심한 경우에는 문제의 프로그램이 너무 많은 메모리를 사용하여 다른 프로그램이 작동하지 않고 사용자가 문제의 원인조차 찾지 못하는 상황이 생기기도 합니다. 또한 사소한 메모리 누수가 나중에 다른 문제를 유발하는 경우도 있습니다.

다행히 Visual Studio 디버거와 CRT(C 런타임) 라이브러리는 메모리 누수를 탐지하고 식별할 수 있는 효과적인 수단을 제공합니다. CRT 디버깅 기능을 사용하여 메모리 누수를 탐지하는 방법은 다음 항목을 참조하십시오.

MFC는 MFC 프로그램의 메모리 누수를 탐지하는 기능을 갖추고 있습니다. 자세한 내용은 MFC의 메모리 누수 탐지를 참조하십시오.

참고 항목

개념

디버거 보안

기타 리소스

네이티브 코드 디버깅