2010-08-12 5 views
2

나는 C++ 응용 프로그램을 가지고 있는데, 작업 관리자를 관찰 할 때 응용 프로그램의 메모리 사용이 점차 증가한다는 것을 보여줍니다.작업 관리자는 얼마나 정확합니까?

수동으로 소스 코드를 확인하고 Visual Leak Detector for Visual C++을 사용하여 메모리 누수를 확인했지만 찾을 수 없습니다. 메모리 누수가 100 % 발생했는데 찾을 수 없거나 작업 관리자가 나를 안내 할 수있는 가능성이 있습니까?

+0

결국 사용량이 증가하지 않습니까? 또는 앱이 실행되는 동안 계속 진행됩니까? –

+4

작업 관리자가 정확합니다. 그것이 보여주는 데이터는 사람들이 종종 의미한다고 가정하는 것을 의미하지는 않습니다. 그것은 귀하의 경우에도 문제가 될 것 같습니다 – jalf

답변

4

아니요. 메모리 통계 (View + Columns 사용)에 대한 몇 가지 옵션이 있으며 버전은 중요하지만 기본보기에는 작업 세트가 표시됩니다. 프로그램에서 사용하는 가상 메모리의 양은 실제로 RAM에 있습니다. 이것은 매우 빠르게 변화 할 수있는 통계 수치입니다. 예를 들어 앱의 기본 창을 최소화하십시오.

표시 할 수있는 VM 크기가 크지 않습니다. 이 번호는 무료 힙 블록을 포함합니다. 실제 메모리를 사용하는 것은 매우 까다 롭습니다. HeapWalk 용 SDK 기사의 작은 글씨를 읽으십시오.

누수가 발견되지 않는 한 누출 감지에는 쓸모가 없습니다.

1

나는 작업 관리자 대신 Process Explorer을 사용합니다. CPU/메모리 사용 내역 그래프를 보여줍니다.

+0

+1 프로세스 탐색기에 대한,하지만 당신은 실제로 OP 질문에 대답하지 않았다. –

0

나는 확장 된 작업 관리자를 사용 http://www.warecase.com/products.asp

이 스레드가 존재 여부 및 기타의 경우 있는지 확인하는 특히 목적을 디버깅하는 데 유용합니다. 프로세스 또는 응용 프로그램에 대해 pdb가 있으면 많은 정보를 제공 할 수 있습니다.

아마도 메모리 누수를 확인하는 데 DevPartner를 사용할 수 있습니다. 그것은 매우 유용합니다.

관련 문제