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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
#1

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

15.02.2010, 17:24. Просмотров 1397. Ответов 11
Метки нет (Все метки)

Я ищу утилиты которые позволяют находить утечки памяти...
У меня возник вопрос есть ли программные утилиты(подобного рода), которые
подключаются к VC++ 6.0. или VS 2008.

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

Есть такие? - C++
Нужны люди которые будут помогать 6 апреля с 12:00 до 15:30 безвозмездно мне на олимпиаде по информатике. Если есть желающие пишите в...

Относительно простые SDL библиотеки. Есть такие? - C++
Вот решил сделать простую игру. Остановился на sdl. Я, конечно, могу и на чистом sdl, но хотелось бы узнать, есть ли библиотеки, которые...

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

Есть ли тут такие, у кого есть свои идеи ,касающиеся компьютерной безопасности,например, по защите от вирусов? - C++
Есть ли тут такие, у кого есть свои идеи ,касающиеся компьютерной безопасности,например, по защите от вирусов?

Ищу IRC каналы по С++, фрилансу и т.п. - есть такие? - C++
Всем привет! Хочу узнать у сообщества С++ - есть ли какие-либо устоявшиеся, многолюдные каналы IRC? ИМХО мирка намного динамичнее...

Есть ли среди чисел в диапазоне от А до В такие, произведение цифр которых равно С? - C++
1. Написать программу на языке С++ для решения задачи: Даны два числа А, В и С. Определить, есть ли среди чисел в диапазоне от А до В...

11
insideone
Модератор
Автор FAQ
3643 / 922 / 51
Регистрация: 10.01.2010
Сообщений: 2,485
15.02.2010, 18:59 #2
А может перегрузить new и delete чтобы можно было самому за этим следить? Где то я про это читал. Подобной утилитой тоже заинтересован...
1
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
15.02.2010, 19:07  [ТС] #3
А может перегрузить new и delete чтобы можно было самому за этим следить?
Об этом не слышал и даже не представляю как это возможно.

Кроме интеллектуальных указателей в C++ больше ни чего нет, что бы могло помочь как то в отсутствии мусора.
0
Nick Alte
Эксперт С++
1643 / 1015 / 120
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
15.02.2010, 19:23 #4
DevPartner - позволяет выявлять ошибки при вызовах Windows API, находить утечки памяти, измерять производительность. Работает сама по себе или может встраиваться в Visual Studio. Позволяет задавать собственные средства управления памятью (т.е., если написали собственный распределитель памяти, можно познакомить DevPartner с ним и он будет корректно распознаваться). Ну или, как тут предлагают, ручками и бесплатно...
2
kukuruku310
197 / 184 / 7
Регистрация: 14.02.2010
Сообщений: 539
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 по этому поводу есть статейка, но вот ссылки готовой на нее не имею. Сорри.
2
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
15.02.2010, 19:42  [ТС] #6
kukuruku310:
Это исходник к чему относится?
0
kukuruku310
197 / 184 / 7
Регистрация: 14.02.2010
Сообщений: 539
15.02.2010, 19:55 #7
Вы просили утилиты контроля памяти - как раз к этому и относится.
В начале своей работы (функции main или еще там чего) получаете размер выделенной памяти
Далее работаете - выделяете память, освоюождаете, опять выделяете...
По окончании работы (т.е непосредственно перед выходом) проверяете, сколько памяти занято. Если значение совпадает с тем, что было пр запуске, то все в порядке. Иначе - где-то забыли что-то освободить.

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

Подчеркнуть в строке все вхождения заданного символа, если такие там есть - C++
Дана строка и некий символ. Подчеркнуть в строке все вхождения заданного символа, если такие там есть. с++

Определить, есть ли среди элементов массива такие, которые равны сумме двух других - C++
Дано натуральное число n и целые числа a(1), a(2), ..a(n) (n<100). Определить, есть ли среди этих чисел такие, которые равны сумме двух...

Построить матрицу расстояний между всеми точками. Найти равноудаленные точки, если такие есть, и напечатать их номера - C++
Всем привет. Помогите написать программу... На плоскости заданы n точек своими координатами. Построить матрицу расстояний между всеми...

Дан массив целых чисел. Найти номера элементов оканчивающихся цифрой 0 (известно, что такие цифры в массиве есть). - C++
Дан массив целых чисел. Найти номера элементов оканчивающихся цифрой 0 (известно, что такие цифры в массиве есть).


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

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

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