Форум программистов, компьютерный форум CyberForum.ru

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

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

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

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

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

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

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

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

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

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

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

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

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

программа с динамической памятью - C++
текст программы #include <iostream> #include <conio.h> #include <stdlib.h> #include <iomanip> #define m 12 using namespace...

Ошибка с динамической памятью - C++
Очень прошу помочь исправить ошибку в области дин.памяти. Проблема: 1. Шаг Создаю массив для записи 2. Шаг удаляю элемент под...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,363
01.04.2009, 10:57     Средства для контроля работы с динамической памятью #2
Переопредели операторы new, new[], delete и delete[] и в собственной реализации логгируй каждое обращение (и, естественно, вызывай "родные" реализации). Что именно и насколько подробно писать в лог (хотя бы и log4cpp, или во что угодно другое) - зависит исключительно от твоей фантазии и потребностей отладки.
Все.
Haster
инженер-системотехник
109 / 108 / 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 и так заменяет глобальный?
Ответ Создать тему
Опции темы

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