Определение утечки памяти в консольном приложении C++ с помощью MinGW

В режиме отладки простой консольной программы:

#include <malloc.h>
#include <crtdbg.h>
#include <iostream> 

int main()
{
  int tmpDbgFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
  tmpDbgFlag |= _CRTDBG_DELAY_FREE_MEM_DF;
  tmpDbgFlag |= _CRTDBG_LEAK_CHECK_DF;
  tmpDbgFlag |= _CRTDBG_DELAY_FREE_MEM_DF;
  _CrtSetDbgFlag(tmpDbgFlag);
  int* p = NULL, N = 3;
  p = (int*)malloc(sizeof(int) * N);
  // free(p);
  return 0;
}

Visual Studio сообщает об утечки памяти:

Detected memory leaks!
Dumping objects -> normal block at 0x000001A602D37C50, 12 bytes long.
 Data: <            > CD CD CD CD CD CD CD CD CD CD CD CD

CodeBlocks c MinGW и gdb сообщает только, что variable 'p' set but not used [-Wunused-but-set-variable]|" Подскажите, пожалуйста, как настроить компилятор (отладчик), чтобы появились сообщения об утечки памяти.


Ответы (0 шт):