Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Определение утечки памяти в консольном приложении C++ с помощью MinGW (http://forum.oszone.net/showthread.php?t=352579)

tumanovalex 12-12-2022 17:18 2998654

Определение утечки памяти в консольном приложении 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 ->
{159} normal block at 0x000001A602D37C50, 12 bytes long.
Data: < > CD CD CD CD CD CD CD CD CD CD CD CD
CodeBlocks c MinGW и gdb сообщает только, что "D:\MyProgramming\cbBookExamles\main.cpp|12|warning: variable 'p' set but not used [-Wunused-but-set-variable]|"
Подскажите, пожалуйста, как настроить компилятор (отладчик), чтобы появились сообщения об утечки памяти.

shisik 12-12-2022 17:42 2998658

Здесь я такого не нашел https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html

tumanovalex 12-12-2022 19:14 2998669

Жалко. Я последнее время использую MinGW и CodeBlocks и хотелось бы, чтобы были такие же возможности, как и у компилятора Microsoft. Ну на нет и суда нет.

lxa85 18-01-2023 18:56 3001221

Что в ключах сборки?
Он пишет -- set, but not used. А раз not used, то может и не выделяет вовсе.
Оптимизация, все дела.
Ну и статический анализатор до кучи.

tumanovalex 18-01-2023 23:24 3001232

А почему Visual Studio определяет? Мне нужно сравнить ключи у Visual Studio и gcc?


Время: 20:43.

Время: 20:43.
© OSzone.net 2001-