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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 4.61
zinjvi
1 / 1 / 0
Регистрация: 12.05.2012
Сообщений: 26
#1

Как узнать, в процесе отладки, сколько памяти занимает программа? - C++

14.07.2012, 21:56. Просмотров 4840. Ответов 13
Метки нет (Все метки)

Вот чтобы проследить за тем сколько и когда программа занимает и какое количество килобайт под капие переменные.... Чтобы увидеть что занимается память при выделении динамической памяти и освобождается при удалении.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2012, 21:56     Как узнать, в процесе отладки, сколько памяти занимает программа?
Посмотрите здесь:
Как узнать, сколько памяти занимает тот или иной элемент программы? C++
Сколько памяти занимает метод? C++
Сколько памяти занимает комплексное число? C++
Сколько оперативной памяти занимает приложение? C++
Сколько памяти занимает указатель? Ссылка? C++
Сколько памяти занимает квадратная матрица вида char c[3][3]? C++
C++ Как определить, сколько байт занимает массив?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HappyAndRu
13 / 13 / 2
Регистрация: 19.05.2012
Сообщений: 44
14.07.2012, 22:28     Как узнать, в процесе отладки, сколько памяти занимает программа? #2
Операция sizeof определяет размер переменной в байтах:
C++
1
2
int x=5;
cout << sizeof x << endl;
zinjvi
1 / 1 / 0
Регистрация: 12.05.2012
Сообщений: 26
14.07.2012, 22:52  [ТС]     Как узнать, в процесе отладки, сколько памяти занимает программа? #3
Это я знаю, а так чтобы сразу видеть по всем переменным, в виде каких то таблиц...
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
15.07.2012, 17:46     Как узнать, в процесе отладки, сколько памяти занимает программа? #4
создайте переменные разных типов,и делайте sizeof(переменная) в чем собственно проблема
soon
2538 / 1303 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.07.2012, 17:50     Как узнать, в процесе отладки, сколько памяти занимает программа? #5
Кто-нибудь из ответивших может мне объяснить связь между вопросом ТС(в частности про динамическую память) и выводом sizeof-а?

zinjvi, ОС?
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
15.07.2012, 17:50     Как узнать, в процесе отладки, сколько памяти занимает программа? #6
для этого есть специальные инструменты: профайлеры, мониторы и т.п.
они все показывают и рассказывают. если в маленькой программе это можно и на глаз оценить (но непонятно, зачем в маленьких программах это знать), то в большой - врятли получится нормально это сделать.
вам для каких целей все это нужно знать?
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
15.07.2012, 18:06     Как узнать, в процесе отладки, сколько памяти занимает программа? #7
в этих ваших юнихах proc/PID/memstat, какая-та из утилит valgrind'a
в виндах - диспетчер задач или Process Explorer
Avazart
7101 / 5278 / 267
Регистрация: 10.12.2010
Сообщений: 23,283
Записей в блоге: 17
15.07.2012, 20:12     Как узнать, в процесе отладки, сколько памяти занимает программа? #8
Ну если надо проверить дает ли код утечку я делаю так помещаю этот код в цикл, допустим:
C++
1
for(ini i=0;i<10000;i++) {/*Код*/}
и смотрю в диспетчер задач растет ли память.
zinjvi
1 / 1 / 0
Регистрация: 12.05.2012
Сообщений: 26
15.07.2012, 20:57  [ТС]     Как узнать, в процесе отладки, сколько памяти занимает программа? #9
Цитата Сообщение от soon Посмотреть сообщение
zinjvi, ОС?
Операционная система? Виндовс.

Добавлено через 7 минут
Цитата Сообщение от DU Посмотреть сообщение
профайлеры, мониторы и т.п.
а можно конкретные названия программ , в гоогл ничего корректного не нашел...

Нужно чтобы следить за тем сколько программа ест памяти... просто хочется знать какая переменная или какой массив ест сколько памяти...
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
15.07.2012, 21:04     Как узнать, в процесе отладки, сколько памяти занимает программа? #10
Цитата Сообщение от zinjvi Посмотреть сообщение
просто хочется знать какая переменная или какой массив ест сколько памяти...
а это и так не очевидно?
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
16.07.2012, 10:15     Как узнать, в процесе отладки, сколько памяти занимает программа? #11
что-то туго у вас с поиском. вот пару запросов, и везде что-то советуют или сразу ссылки на конкретные профайлеры:

http://www.google.ru/search?hl=ru&ne...d=0CJoBENUCKAM

http://www.google.ru/#sclient=psy-ab....,cf.osb&cad=b
-=ЮрА=-
Заблокирован
Автор FAQ
16.07.2012, 14:38     Как узнать, в процесе отладки, сколько памяти занимает программа? #12
Цитата Сообщение от zinjvi Посмотреть сообщение
Вот чтобы проследить за тем сколько и когда программа занимает и какое количество килобайт под капие переменные.... Чтобы увидеть что занимается память при выделении динамической памяти и освобождается при удалении.
-всё очень просто если дело касается windows - вызваем диспетчер задач и смотрим столбцы Память и Пиковое использование памяти (см крин). Постоянное увеличение счётчика в графе Пиковое использование - верный признак утечки. Также следует поглядывать на динамику изменения памяти. Т.е. если в программе был объект на 3 Мб и после какого-то момента (скажем нажатия кнопки - предполагалась очистка а память приложения не уменьшилась на те самые 3 Мб - это также признак того, что объект ещё привязан к нашему алгоритму и забирает ресурсы ОС).
Миниатюры
Как узнать, в процесе отладки, сколько памяти занимает программа?  
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
16.07.2012, 16:14     Как узнать, в процесе отладки, сколько памяти занимает программа? #13
Используй контейнеры, вместо массивов и интеллектуальные указатели и тебе не придётся парить мозг, размышляя о наличии утечек.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2012, 23:16     Как узнать, в процесе отладки, сколько памяти занимает программа?
Еще ссылки по теме:
Как найти определенные байты в процесе? C++
Какой объем памяти занимает пустая двусторонняя очередь (deque)? C++
Как узнать объём выделеной динамичесой памяти? C++
C++ Как узнать размер массива в динамической памяти?
C++ Как узнать объем доступной памяти портабельным кодом?

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

Или воспользуйтесь поиском по форуму:
Avazart
7101 / 5278 / 267
Регистрация: 10.12.2010
Сообщений: 23,283
Записей в блоге: 17
19.07.2012, 23:16     Как узнать, в процесе отладки, сколько памяти занимает программа? #14
не придётся парить мозг, размышляя о наличии утечек.
Ага у мозга будет другое занятие поразмышлять над тем какой из умных указателей применить
Yandex
Объявления
19.07.2012, 23:16     Как узнать, в процесе отладки, сколько памяти занимает программа?
Ответ Создать тему
Опции темы

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