С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vampik
0 / 0 / 0
Регистрация: 30.03.2011
Сообщений: 41
#1

Борьба с утечками памяти - C++

03.12.2011, 21:45. Просмотров 930. Ответов 6
Метки нет (Все метки)

Знаю, что вроде бы есть дополнения к Студии, с помощью которых можно отслеживать утечки....

Или подскажите как это можно сделать...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2011, 21:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Борьба с утечками памяти (C++):

Что делать с утечками памяти? - C++
С этими утечками памяти в C++ просто беда. Посоветуйте, что можно сделать? Может быть есть какие-то специальные утилиты?

Борьба с поеданием памяти оператором new - C++
Здравствуйте! Столкнулся с некоторой проблемкой, решение ей не получилось найти. Может у Вас получится. Имеется код: subset...

Экономия памяти или борьба с точками. (что-то типа массива ссылок хотелось бы иметь) - C++
У меня есть объект Point. И есть Объект Grup. В объекте Grup я выделил динамически память под массив объектов типа Point. Чтоб, как бы...

Классовая борьба - C++
Visual Studio 10 express ни с того ни с сего начал ругаться на существующие классы, хотя раньше воспринимал все нормально.. с чем может...

Борьба за ресурсы - C++
Добрый день! Встал вопрос, возможно надуманный. void* a(void* argv) { while(1) { cout << (char*)argv; } } ...

Борьба за кириллицу в MS Visual C++ 6.0 - C++
Для того, что бы выводились символы русского алфавита я знаю такой метод: #include <iostream.h> #include <windows.h> // для...

6
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
03.12.2011, 22:21 #2
Цитата Сообщение от vampik Посмотреть сообщение
Или подскажите как это можно сделать...
Ну вот есть тоже не плохое средство в отладочном(DEBUG) режиме.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <crtdbg.h>
_CrtMemState  stady1 = {0};
_CrtMemState  stady2 = {0};
 
int main(void){
  _CrtMemCheckpoint( &stady1 ); 
    
  char* ptr = new char[255];
 // delete[] ptr;
 
   _CrtMemCheckpoint( &stady2 );
   _CrtMemState  result = {0};
   if( _CrtMemDifference( &result, &stady1, &stady2 ) )  {
         _CrtMemDumpStatistics( &result );
         printf("No-delete memory: %u\n", result.lTotalCount);
   }
   getchar();
   return 0;
}
2
vampik
0 / 0 / 0
Регистрация: 30.03.2011
Сообщений: 41
04.12.2011, 16:26  [ТС] #3
Мне просто хотелось бы чтобы все таки как то автоматом...
а то у меня система большая и все места проверять там на утечки таким образом боюсь у меня не получится...
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
04.12.2011, 17:39 #4
Используйте умные указатели, стандартные классы и утечек не будет.
0
vampik
0 / 0 / 0
Регистрация: 30.03.2011
Сообщений: 41
04.12.2011, 22:00  [ТС] #5
Утечки уже есть... и сейчас вопрос в том как их устранить...
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
04.12.2011, 22:03 #6
Цитата Сообщение от vampik Посмотреть сообщение
Мне просто хотелось бы чтобы все таки как то автоматом...
а то у меня система большая и все места проверять там на утечки таким образом боюсь у меня не получится...
Пичалька, однако. Совет уже дан:
Цитата Сообщение от Chelioss Посмотреть сообщение
Используйте умные указатели, стандартные классы и утечек не будет.
Для локализации можно попробовать воспользоваться инструментами статистического анализа кода. Стопроцентной гарантии не дают, но опасные места выявляют.
0
easybudda
Модератор
Эксперт CЭксперт С++
9700 / 5650 / 964
Регистрация: 25.07.2009
Сообщений: 10,873
04.12.2011, 22:20 #7
Анализатор кода под линух: http://valgrind.org/
Под винду наверняка тоже есть.
0
04.12.2011, 22:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2011, 22:20
Привет! Вот еще темы с ответами:

Борьба с погрешностью при сравнивании double с int - C++
В моей программе происходит много действий с вещественными числами, а потом ответ (тоже вещественное число) сравнивается с целочисленным...

Игра "Борьба за жизнь". Цель игры – убрать с доски все шашки противника - C++
Здравствуйте! Помогите пожалуйста написать программу на с++. Два игрока имеют по n шашек и играют в поле m m клеток, делая ходы по...

Выделить в памяти 1024 ячейки по 8 байт и вывести их адреса(МИНИ менеджер памяти)) - C++
Вот тут появилась такая интересная задача: требуется сделать программу которая управляет 1024 ячейками памяти по 8 байт каждая. т.е. за...

Можно ли разместить переменную в нужную ячейку памяти и реально ли хранить данные, разбросанными по памяти? - C++
Добрый день. Не могу найти информацию по двум вопросам : 1) могу ли я разместить переменную в нужную ячейку памяти. Например: int a...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.