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

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

Войти
Регистрация
Восстановить пароль
 
Haster
инженер-системотехник
111 / 110 / 2
Регистрация: 10.03.2009
Сообщений: 533
#1

Средства для контроля работы с динамической памятью - C++

01.04.2009, 10:48. Просмотров 827. Ответов 2
Метки нет (Все метки)

Здравствуйте, товарищи!
При написании программы на С++ встала проблема контроля выделения/удаления динамической памяти (необходимо для отладки приложения).
Хотелось бы иметь возможность просматривать сколько памяти было выделено, сколько возвращено системе на любом отрезке кода.
Может кто-нибудь знает такие средства?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2009, 10:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Средства для контроля работы с динамической памятью (C++):

Функции для работы с динамической памятью - C++
только начал изучать С++ сразу столкнулся с кучей вопросов. задача такая : разработать функции Create,Resize и Remove для создания,...

Объяснить код работы с динамической памятью - C++
Объясните пожалуйста этот кусок кода : class test { public: int *p = new int(); }; int main() { test *b =...

Разобраться в принципе работы задачч. (Работа с динамической памятью через указатели. ) - C++
Вот условие задачи: Создать массив из N целых чисел, N вводит пользователь. Заполнить массив случайным образом в диапазоне от 1 до 12....

Какие есть средства для работы с MySQL? - C++
Как можно на СИ++ удалять, читать и вставлять данные в базу данных MySQL?? Какие для этого есть средства можете дать ссылку??

Программа для контроля работы пк под управлением ОС Windows XP - C++
Всем привет! Пришла мне в голову идея написать программу, которая будет в соответствии со временем разрешать доступ пользователю к...

Какие средства для работы с длинной арифметикой имеются в C++? - C++
Как работать с длинной арифметикой в C++? Может есть какие-нибудь функции предназначенные именно для этого?

2
CheshireCat
Эксперт С++
2903 / 1252 / 81
Регистрация: 27.05.2008
Сообщений: 3,437
01.04.2009, 10:57 #2
Переопредели операторы new, new[], delete и delete[] и в собственной реализации логгируй каждое обращение (и, естественно, вызывай "родные" реализации). Что именно и насколько подробно писать в лог (хотя бы и log4cpp, или во что угодно другое) - зависит исключительно от твоей фантазии и потребностей отладки.
Все.
1
Haster
инженер-системотехник
111 / 110 / 2
Регистрация: 10.03.2009
Сообщений: 533
01.04.2009, 11:23  [ТС] #3
CheshireCat, спасибо, что-то я совсем забыл про такую возможность )

Добавлено через 21 минуту 14 секунд
Кстати, таким образом можно контролировать выделение памяти под объекты, а если мне нужно выяснить сколько памяти выделилось для встроенных типов?
Например есть такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
class m
{
      public:
             void GetData();
             ...
      private:
             void *f;        
}
void m::GetData()
{
     f = new char[100];
}
Можно ли как-то переопределить данный оператор new?

Или объявленный в классе оператор new и так заменяет глобальный?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2009, 11:23
Привет! Вот еще темы с ответами:

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

Работа с динамической памятью! - C++
Привет! Такая задача: Необходимо выделить(по N Кб) и освободить всю динамическую память. Определить время выделения и освобождения, и объем...

Операции с динамической памятью - C++
Есть new и delete. Можно написать так: int *a; a = new int ; Дальше, хотим удалить - пишем delete a; Вопрос такой: а если...

Работа с динамической памятью - C++
Привет всем. Я недавно начал изучать C++ и наткнулся на ошибку:"двумерный динам.exe вызвал срабатывание точки останова" при очистке...


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

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

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