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

Есть ли такие утилиты. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
15.02.2010, 17:24     Есть ли такие утилиты. #1
Я ищу утилиты которые позволяют находить утечки памяти...
У меня возник вопрос есть ли программные утилиты(подобного рода), которые
подключаются к VC++ 6.0. или VS 2008.

Если такие утилиты существуют поставьте ссылку на ресурс
от куда можно взять хотя бы одну такую утилиту. please...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2010, 17:24     Есть ли такие утилиты.
Посмотрите здесь:

C++ Есть такие?
Дан массив целых чисел. Найти номера элементов оканчивающихся цифрой 0 (известно, что такие цифры в массиве есть). C++
C++ Определить, есть ли среди элементов массива такие, которые равны сумме двух других
C++ есть ли среди чисел в диапазоне от А до В такие, произведение цифр которых равно С.
C++ Дан массив целых чисел. Найти номера элементов, оканчивающихся цифрой 0 (известно, что такие элементы в массиве есть)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
insideone
Модератор
Автор FAQ
 Аватар для insideone
3620 / 898 / 47
Регистрация: 10.01.2010
Сообщений: 2,422
15.02.2010, 18:59     Есть ли такие утилиты. #2
А может перегрузить new и delete чтобы можно было самому за этим следить? Где то я про это читал. Подобной утилитой тоже заинтересован...
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
15.02.2010, 19:07  [ТС]     Есть ли такие утилиты. #3
А может перегрузить new и delete чтобы можно было самому за этим следить?
Об этом не слышал и даже не представляю как это возможно.

Кроме интеллектуальных указателей в C++ больше ни чего нет, что бы могло помочь как то в отсутствии мусора.
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
15.02.2010, 19:23     Есть ли такие утилиты. #4
DevPartner - позволяет выявлять ошибки при вызовах Windows API, находить утечки памяти, измерять производительность. Работает сама по себе или может встраиваться в Visual Studio. Позволяет задавать собственные средства управления памятью (т.е., если написали собственный распределитель памяти, можно познакомить DevPartner с ним и он будет корректно распознаваться). Ну или, как тут предлагают, ручками и бесплатно...
kukuruku310
197 / 184 / 6
Регистрация: 14.02.2010
Сообщений: 536
15.02.2010, 19:40     Есть ли такие утилиты. #5
на входе в программу
_CrtSetDbgFlag( _CrtSetDbgFlag (_CRTDBG_REPORT_FLAG) |
_CRTDBG_CHECK_ALWAYS_DF | _CRTDBG_DELAY_FREE_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_DEBUG);
MemState(StartState);

на выходе
if ( _CrtDumpMemoryLeaks() )
{
_CrtMemState state;
MemState(state);
sprintf(err_buf, "Memory Leaks!!! %d", state.lTotalCount - StartState.lTotalCount);
Err(err_buf, "MyDLL");
}
else
MessageBox(GetActiveWindow(), "Memory Good", "MyDLL", 0);
}
на rsdn по этому поводу есть статейка, но вот ссылки готовой на нее не имею. Сорри.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
15.02.2010, 19:42  [ТС]     Есть ли такие утилиты. #6
kukuruku310:
Это исходник к чему относится?
kukuruku310
197 / 184 / 6
Регистрация: 14.02.2010
Сообщений: 536
15.02.2010, 19:55     Есть ли такие утилиты. #7
Вы просили утилиты контроля памяти - как раз к этому и относится.
В начале своей работы (функции main или еще там чего) получаете размер выделенной памяти
Далее работаете - выделяете память, освоюождаете, опять выделяете...
По окончании работы (т.е непосредственно перед выходом) проверяете, сколько памяти занято. Если значение совпадает с тем, что было пр запуске, то все в порядке. Иначе - где-то забыли что-то освободить.

Правда, работает только в Debug-конфигурации, но ведь если в Debug все ладно, то на 50% - все ладно и в Release
И с COM-ами не работает.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
15.02.2010, 19:57  [ТС]     Есть ли такие утилиты. #8
kukuruku310:
Какие заголовки подключить надо?
inter
9696 / 2449 / 43
Регистрация: 06.03.2009
Сообщений: 8,503
15.02.2010, 19:57     Есть ли такие утилиты. #9
Rational Purify, Compuware DevPartner Studio.
kukuruku310
197 / 184 / 6
Регистрация: 14.02.2010
Сообщений: 536
15.02.2010, 20:04     Есть ли такие утилиты. #10
crtdbg.h
кстати, статья назвается "Обнаружение и локализация утечек памяти"
Автор: Эдвард Райт
Перевод: Александр Шаргин
ссылки на NET у меня нет, только локальная копия статейки
ccoder
 Аватар для ccoder
8 / 8 / 3
Регистрация: 05.02.2010
Сообщений: 41
15.02.2010, 20:17     Есть ли такие утилиты. #11
Слыхал об утилитке, под названием UMDH (позволяет собрать данные для диагностики утечки памяти), еще можно поробовать Application Verifier.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2010, 20:18     Есть ли такие утилиты.
Еще ссылки по теме:

Относительно простые SDL библиотеки. Есть такие? C++
C++ Построить матрицу расстояний между всеми точками. Найти равноудаленные точки, если такие есть, и напечатать их номера
Подчеркнуть в строке все вхождения заданного символа, если такие там есть C++

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

Или воспользуйтесь поиском по форуму:
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
15.02.2010, 20:18  [ТС]     Есть ли такие утилиты. #12
Тоже слышал, всё равно спасибо.
Yandex
Объявления
15.02.2010, 20:18     Есть ли такие утилиты.
Ответ Создать тему
Опции темы

Текущее время: 13:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru