2
네트워크 기반 응용 프로그램에서 작업하고 있습니다. 초기화와 릴리스 사이의 메모리 사용 또는 보내기와 받기 사이의 메모리 사용과 같은 내 응용 프로그램의 여러 단계에서 메모리 사용량을 확인하고 싶습니다. 내가 봤 거든 솔루션을 찾으려고하지만 정확히 내 요구 사항과 일치하는 게시물.C++ 용 검사 점 기반 메모리 사용량 프로파일 링을 지원하는 도구가 있습니까
검사 점 기반의 메모리 프로파일 링을 Linux 및 Windows 플랫폼 모두에서 수행하는 데 도움이되는 도구 나 프로세스를 제안하십시오. 사전
다음 코드
_CrtMemState memState1;
_CrtMemCheckpoint(&memState1);
char *p = new char[100];
p = new char[100];
p = new char[100];
p = new char[100];
p = new char[100];
_CrtMemState memState2;
_CrtMemCheckpoint(&memState2);
_CrtMemState memStateDiff;
_CrtMemDifference(&memStateDiff, &memState1, &memState2);
_CrtMemDumpStatistics(&memStateDiff);'
에서
덕분에 내가 전문 윈도우 7 얼티밋에서 Visual Studio 2010을 사용하고 나에게 출력
0 bytes in 0 Free Blocks.
0 bytes in 0 Normal Blocks.
0 bytes in 0 CRT Blocks.
0 bytes in 0 Ignore Blocks.
0 bytes in 0 Client Blocks.
Largest number used: 0 bytes.
Total allocations: 0 bytes.
을 제공합니다.
* 귀하의 요구 사항과 정확히 일치하는 게시물이 없습니까? 원격으로 닫은 것이 있습니까? 메모리 관리 내부는 매우 벤더에 따라 다르므로, windows-and-Linux에 대한 답변은 통하지 않을 것입니다. – WhozCraig
실제로 디버그 모드로 컴파일 중이십니까? _CRTDBG_MAP_ALLOC을 정의하고 재 작성해야합니다. 그렇지 않으면 통계를 생성하는 malloc/free를 사용하지 않습니다. – Neil