은 몇 가지 예제 코드입니다 :_CrtMemDumpAllObjectsSince() 함수는 누수를 감지 할 수없는 대신이라고 삭제 배열을 삭제하면 [] 배열
#include <crtdbg.h>
#include <windows.h>
#ifdef _DEBUG
#define new DEBUG_CLIENTBLOCK
#endif
int main()
{
int* arr = new int[10];
delete arr; //not using delete [] arr
_CrtMemDumpAllObjectsSince(NULL); // dumping leak logs
return 0;
}
당신은 내가 delete [] arr
을 사용하지 않은 것을 볼 수 있듯이 아직도 내가 그랬어 누출은 없어.
누구나 그것을 교정하고 이유를 설명해주십시오. _CrtMemDumpAllObjectsSince()
은 위의 코드에서 누출을 덤프하지 않습니다.
제리에게 감사드립니다. 나는 당신의 예제에서 프로그램이 왜 충돌하는지에 대해 한 가지 더 의심스러워합니다. 내가 경고를 받았지만 뭔가 잘못되었다 ... –
@ShashankJain : 솔직히 모르겠다 - 나는 그것을 실행하기를 기대했지만 메모리 누출을 일으킨다. 나는 앞으로 일어나는 일이 무엇인지 알아내는 것이 중요하지 않을까 의심 스럽다. 그리고 나는 왜 그런 일이 일어나고 있는지를 알기 위해 많은 시간을 할애하지 않을 것이다. 특히 더 이상 전혀 새로운 것을 사용하지 않기 때문이다. 하지 않은 년). –