2013-07-22 4 views
0

소음을 취소하는 것이 목적입니다. 지속적으로 실행하고 프로세스 탐색기를 사용하여 메모리 사용을 관찰하면 Private Bytes가 예를 들어 11.8MB에서 13MB로 천천히 증가한다는 것을 알았습니다.시간이 지남에 따라 개인 바이트 메모리가 증가합니다.

내 동료가 최대 1GB까지 올라가고 응용 프로그램이 충돌한다고 말했습니다.

이 문제를 어떻게 해결할 수 있습니까? 이 응용 프로그램을 C++로 작성했습니다.

+0

플러그인 호출 검색 "Memory Leak Detector" – Twifty

+1

valingaurd를 시도하십시오. –

+0

데이터 구조가 사용중인 메모리를 제어하고 메모리에있는 불필요한 데이터를 삭제해야합니다. 몇 MB에서 1GB에 도달하는 것은 다소 큰 문제입니다. – kkanellis

답변

0

특히 C++ 메모리 유지 보수에서 빠른 수정이 필요하지 않습니다. 개발 프로세스 전반에 걸쳐 연습해야하며 마지막에 밟아서는 안됩니다. 그리고 실제로 코드의 어느 곳에서나 사용할 수 있기 때문에 코드를 게시하는 것은 실제적이지 않습니다.

나의 유일한 조언은 new 연산자의 사용을 찾고 동봉 된 delete이 있는지 확인하는 것입니다. 또한 클래스/함수/등의 단위 테스트를 사용합니다. 문제의 범위를 좁히는 데 도움이 될 수 있습니다.

행운을 빈다.

+0

고마워요. 나는 이것을 이것을 고려할 것이다. 많은 감사합니다. –

0

"Windows 용 디버깅 도구"에서 'UMDH'를 사용할 수 있습니다. 이를 통해 Windows의 빌드 인 지원을 사용하여 메모리 누수를 찾을 수 있습니다. 당신은 SDK 또는 DDK와 함께 Debugging Tools for Windows를 다운로드해야 UMDH (Windows Debuggers

: 추가 정보를 위해

Using UMDH to Find a User-Mode Memory Leak

페이지를 참조하십시오. MSDN Archive에서 이전 버전을 다운로드 할 수도 있습니다.이 버전은 UMDH를 사용하기에 충분해야합니다.

관련 문제