2010-05-13 4 views
2

나는 리눅스에서 실행되는 C++ 프로그램을 가지고있다. 코드에서 메모리 사용량을 추적 할 수 있습니까? 새로운 객체를 할당하고 메모리가 부족하여 메모리를 얼마나 빨리 사용하고 있는지 추적하고 싶습니다. 당신은 메모리 사용을 추적 할 수 ::operator new를 오버로드 할 수C++에서 메모리 사용을 추적하는 방법

감사

답변

4

Valgrinds 모듈 대산 괴 당신이 찾고있는 정확하게 무엇을 시도 할 수 있습니다.

http://valgrind.org/docs/manual/ms-manual.html

+0

Valgrind는 프로세스의 메모리 사용량을 모니터링하려는 경우 갈 수있는 방법입니다 – iGbanam

1

는 (일반적으로, 다른 모든이 통과).

+0

잊지 마세요':: 연산자 새 []';-) – fredoverflow

+1

@Fred : 아, 할 수없는 나는, 제발? –

1

http://www.paulnettle.com/ "코드"를 클릭 한 다음 "MMGR"을 클릭하고 "CODE"라고 표시된 그래픽을 빨간색 글자로 클릭하십시오.

MMGR이 프로젝트에 포함됩니다. 포괄적 인 메모리 추적을 원하는 모든 소스 파일에이 파일을 포함시키고 나머지는 수행합니다. 그것은 그의 웹 사이트의 무용 함에도 불구하고 정말로 아주 훌륭합니다.

+2

헤더 주석에는 "8 자 탭과 (적어도) 132 개의 열로 가장 잘 보인다"고되어 있습니다. 웃을 지 울지 모르겠다. – Troubadour

+0

난 그냥 리눅스에서 이것을 시도했지만 gcc 4.3.2를 사용하여 컴파일되지 않았다. 그것을 작동 시키려면'stdafdx.h' include를 제거하고 mmgr.cpp에'std ::'와 함께'new_handler' 접두어를 붙이십시오. 'size_t'를 얻으려면 mmgr.h에''을 포함하십시오. – Troubadour

+0

그래, 아름답 지 않아.하지만 광고하는 걸 잘 해. "전통적인"플랫폼에서는 작동하지 않으므로 상자에서 작업하지 않아도됩니다. ;) –

관련 문제