Прога на С++ (MSVC++) работает с сетью. память выделяется с помощью new! Прога каждые 10 сек конектится к серваку чего-то забирает. Вроде все созданные var = new char[num] удаляю delete [] var Так ведь?! Но на в процессах память моего приложения каждые 10 сек растёт на 64К Это у меня утечка памяти (т.е. моя вина как программиста) или я нетак понимаю систему!? Спасибо!
vovka Отладчик рулит - не мешает посмотреть, действительно ли освобождается память. По идее MSVS начиная с 2003, сама обнаруживает утечки памяти. Более четкой их локализация становится, если заменить оператор new на макрос DEBUG_NEW.
vovka Вопрос - как часто выделяется/освобождается память. В каких пределах варьируется размер выделяемого блока, и сколько памяти выделяется в максимуме всего. При неблагоприятных сочетаниях этих параметров, возможна утечка памяти из за ее фрагментации. И с этим иногда становиться почти невозможно бороться.
vovka короче, Вовка, все просто, идешь вот сюда: http://rsdn.ru/article/vcpp/leaks.xml. Читаешь, медитируешь, применяешь свои знания на практике и радуешься... =) зы. На практике, всякие там bounds checker и т.д. и п.т. только затрудняют процесс нахождения утечки, т.к. тот же чекер для других нужд расчитан, а разработчики CRT все уже давным давно за нас сделали, просто надо уметь это пользовать. Мне эта статья очень пригодилась
YoungBastard Ну-ну. Так же, как IDE отвлекает от кода своими подсветками, autocomplete'ами и прочими фенечками.
Unhandled_Exception, попробовал я этот плагин Deleaker. показал он мне значит утечки памяти в моем проекте. я решил все же докопаться до истины, взял, и прогнал этот плагин при дебаге на другом проекте (взял исходный "нулевой" пример работы с OpenGL, который шел с поставкой DevC++ компилера, который я в своем коде за основу работы с OpenGL взял). и что же вы думаете, Deleaker мне и тут показал утечки памяти!!! причем, всего лишь на одну утечку меньше, если так можно выразиться в этом контексте. в моем проекте он показывал 5 утечек, а здесь 4, причем размер "утекших" данных в четырех утечкам один в один совпадает и с моими. я не могу поверить просто, что в том исходном примере, что шел с DevC++ компилером могут быть утечки. если угодно, могу приаттачить этот простенький сорец для пущей убедительности. YoungBastard, попробовал тот способ, описанный по вашему указанному линку, все сделал как там описано, но на вкладке Debug окна Output моей MS Visual Studio .Net 2003 абсолютно ничего не выводится. кто знает, в чем дело? ps: пардон за поднятие старой темы