메모리 누 출 검사 도구 VLD (Visual Leak Detector)
메모리 누 출 을 검사 하 는 데 많은 사람들 이 VLD 라 는 편리 한 도 구 를 사용 한 적 이 있 을 것 이다.
http://www.codeproject.com/KB/applications/visualleakdetector.aspx?fid=162023&df=90&mpp=25&sort=Position&noise=3&view=Quick&select=2597831
초기 vld 사용 이 불편 합 니 다. 얼마 전에 vs6 에서 vs 2008 로 공 사 를 옮 기 려 고 했 습 니 다. 그리고 메모리 누 출 과 관련 된 것 을 다시 검 사 했 습 니 다. 높 은 버 전 vs 에 서 는 별로 좋 지 않 은 것 같 습 니 다. codeprojcect 에 서 는 아직 업데이트 되 지 않 은 것 같 습 니 다.
그 러 자 구 글 이 내 려 와 보 니 여기 새 버 전이 생 겼 어 요. (새 집 으로 이 사 했 어 요?)
http://vld.codeplex.com/
사용 하기에 구 판 보다 제한 이 적 고 컴 파일 환경 에서 디 렉 터 리 를 설정 하면 더욱 편리 하고 사용 하기 쉽다.
=====================================================================
이전의 예 에서 사용 효 과 는 다음 과 같다.
#include <vld.h>
#define CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
// =====================================================================================================================
// =======================================================================================================================
void Fun(void)
{
//~~~~~~~~~~~~~
int *p = new int;
//~~~~~~~~~~~~~
}
// =====================================================================================================================
// =======================================================================================================================
int main()
{
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
//~~~~~~~~~~~~~~~~~~~~
int *pArr = new int[32];
//~~~~~~~~~~~~~~~~~~~~
Fun();
return 0;
}
F5 프로그램 이 정상적으로 끝 난 후에 볼 수 있 습 니 다.
quote: --------------------------------------------------------------------------------
WARNING: Visual Leak Detector detected memory leaks! ---------- Block 47 at 0x003C5CD0: 4 bytes ---------- Call Stack: E:\prj\CSDN\VldDemo\VldDemo.cpp (13): Fun E:\prj\CSDN\VldDemo\VldDemo.cpp (28): main crt0.c (206): mainCRTStartup 0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle Data: CD CD CD CD ........ ........
---------- Block 46 at 0x003C5C08: 128 bytes ---------- Call Stack: E:\prj\CSDN\VldDemo\VldDemo.cpp (24): main crt0.c (206): mainCRTStartup 0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle Data: CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD ........ ........ CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD ........ ........ CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD ........ ........ CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD ........ ........ CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD ........ ........ CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD ........ ........ CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD ........ ........ CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD ........ ........
Visual Leak Detector detected 2 memory leaks. Visual Leak Detector is now exiting. Detected memory leaks! Dumping objects -> {47} normal block at 0x003C5CD0, 4 bytes long. Data: < > CD CD CD CD {46} normal block at 0x003C5C08, 128 bytes long. Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD Object dump complete. The thread 0x5E4 has exited with code 0 (0x0).
초기 에 설명문 을 찾 았 다.http://blog.csdn.net/dofty/article/details/1190606
STLport 를 사용 하면 메모리 탱크 가 메모리 유출 로 여 겨 집 니 다. defineSTLP_USE_MALLOC/_STLP_USE_NEWALLOC 는 검 측 을 더욱 정확하게 합 니 다.http://www.stlport.org/doc/README.VC++.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.