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

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

Войти
Регистрация
Восстановить пароль
 
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
#1

Проверишь надежность программы! - C++

23.02.2012, 13:51. Просмотров 444. Ответов 7
Метки нет (Все метки)

Пишу под windows свою программу. Могу я узнать как-то, на сколько она "дырявая"? Ну без использования конкретной програмной оболочки а средствами winXP?

Добавлено через 4 минуты
т.е. не вяснять где утечка а вообще осознать что утечка есть!!
Вот я в "процессах" внизу вижу "выделение памяти".
При многократном запуске своей программы память увеличивается примерно на мегабайт. Это что значит? Что программа дырявая?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2012, 13:51     Проверишь надежность программы!
Посмотрите здесь:

Обеспечить надежность программы (защита от ввода неверных символов) - C++
Имеется программа, считающая сумму ряда х квадрат на отрезке от а до а. #include "studio.h" int main() { int a; ...

Задача. Распределить заказы между предприятиями так, чтобы надежность собираемых из них устройств была наибольшей - C++
Радиотехническое устройство состоит из m блоков. Надежность устройства (время наработки на отказ) определяется наименее надежным блоком....

Дан текст программы на С++...Записать в выходной файл текст программы без комментариев - C++
( структуры и текстовые файлы)– Чтение данных в массив структур должно производиться из входного текстового файла. Дан текст...

надежность ПО - C#
Нужна помощь.Существуют ли какие-нибудь программы которые определяют надежность программного обеспечения.

Надежность BD - DVD, Blu-ray
Как думаете, стоит ли болванить на BD? Раньше все сливки болванил на dvd, но сейчас объёмы увеличились, и на dvd болванить я уже...

Надежность ХР - Windows XP
Уважаемые форумчане есть один вопрос. Интересует надежность ос winxp (круглосуточная работа ос на протяжении длительного периода). Если...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
samdavydov
60 / 21 / 2
Регистрация: 23.02.2012
Сообщений: 36
23.02.2012, 14:48     Проверишь надежность программы! #2
Если под многократным запуском предполагается, что старые копии не закрываются, то все так и должно быть.

Если закрываются, то причина в другом и, скорее, всего, ничего старшного не происходит.
При закрытия процесса вся связанная с ним память возвращается системе, не зависимо от "дырявости".
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
23.02.2012, 15:05  [ТС]     Проверишь надежность программы! #3
Ой ли? не скажите, уважаемый. Я конечно не оч разбираюсь в вопросе, но думаю, что "дырявость" порой можно исправить только перезагрузкой. т.к. если динамическую память взять и не вернуть системе, то даже после закрытия программы память не вернется.
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
23.02.2012, 15:10     Проверишь надежность программы! #4
Цитата Сообщение от Андрей2011 Посмотреть сообщение
то даже после закрытия программы память не вернется.
Это кто вам такую глупость сообщил?
samdavydov
60 / 21 / 2
Регистрация: 23.02.2012
Сообщений: 36
23.02.2012, 15:13     Проверишь надежность программы! #5
Процесс не пользуется "сырой" памятью. Каждый раз, когда запускается программа, с процессом связывается некоторое виртуальное адресное пространство, в котором он живет. Эти виртуальные адреса отображаются на реальные менеджером процессов.

Каждый процесс считает, что монопольно владеет ресурсами процессора и всей памятью. Конечно, это не так, но операционная система делает все, чтобы процесс именно так и считал.

В качестве теста создайте такую программу:

C++
1
2
3
4
5
int main()
{
int* bigBuffer = new int[10000000];
return 0;
}
Она выделяет 40 мб и не освобождает их. Кажется, что если запустить её 10 раз, 400 мб "утекут", но этого не произойдет, т.к. при уничтожении процесса вся память вернется системе.
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
23.02.2012, 15:36  [ТС]     Проверишь надежность программы! #6
ага. любопытно. Ну хорошо, а как быть если вот программа поедает память все таки? можно это отследить?
samdavydov
60 / 21 / 2
Регистрация: 23.02.2012
Сообщений: 36
23.02.2012, 15:56     Проверишь надежность программы! #7
В Linux есть valgrind специально для таких задач.

Под Visual Studio есть специальная библиотека http://habrahabr.ru/blogs/cpp/82514/.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2012, 18:50     Проверишь надежность программы!
Еще ссылки по теме:

Надежность XOR - Криптография
Пишу сетевую игру в жанре RTS и так получается, что данные могут быть перехвачены клиентом, которому не предназначаются Мое предположение...

Надежность системы - Теория вероятностей
Так правильно определять надежность системы? PI = 1-(1-P3)^2 PII = * (P5*P6) PIII = P2*PII = P2 * *(P5*P6) PIV = P2*BI = P2* PV...


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

Или воспользуйтесь поиском по форуму:
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
23.02.2012, 18:50  [ТС]     Проверишь надежность программы! #8
О, большое спасибо!!! То что нужно.
Yandex
Объявления
23.02.2012, 18:50     Проверишь надежность программы!
Ответ Создать тему
Опции темы

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