Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Определение утечки памяти в консольном приложении C++ с помощью MinGW

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

Старожил


Сообщения: 220
Благодарности: 2

Профиль | Отправить PM | Цитировать


В режиме отладки простой консольной программы:
Код: Выделить весь код
#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]|"
Подскажите, пожалуйста, как настроить компилятор (отладчик), чтобы появились сообщения об утечки памяти.

Отправлено: 17:18, 12-12-2022

 

Аватара для shisik

Ветеран


Сообщения: 3042
Благодарности: 583

Профиль | Отправить PM | Цитировать


Здесь я такого не нашел https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:42, 12-12-2022 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 220
Благодарности: 2

Профиль | Отправить PM | Цитировать


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

Отправлено: 19:14, 12-12-2022 | #3


Аватара для lxa85

Необычный


Contributor


Сообщения: 4453
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


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

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 18:56, 18-01-2023 | #4


Старожил


Сообщения: 220
Благодарности: 2

Профиль | Отправить PM | Цитировать


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

Отправлено: 23:24, 18-01-2023 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Определение утечки памяти в консольном приложении C++ с помощью MinGW

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Белая полоса внизу экрана когда поднимаю окно вверх с помощью стрелок в приложении Дарья1134 Ноутбуки 6 31-01-2018 14:37
Google говорит о решении проблемы утечки оперативной памяти в Android OSZone News Новости информационных технологий 0 13-06-2016 18:30
Определение АДМИНИСТРАТОРА в консольном режиме и в терминальной сесии TERMINAL AutoIt 2 01-03-2011 15:42
C/C++ - Мышь в С++ в консольном приложении в текстовом режиме Smile Программирование и базы данных 6 26-11-2009 16:41
*SOFT* | Псевдографика в консольном приложении MAXY Программирование и базы данных 20 28-01-2006 11:53




 
Переход