Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > Visual C++
Перезагрузить страницу Утечка памяти и ресурсов
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Vladimir the Red Sunny Vladimir the Red Sunny вне форума
Member
 
Сообщений: 4,232
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.05.2003
По умолчанию Утечка памяти и ресурсов - 05.11.2004, 18:16

Допустим, я написал прогу, где происходит утечка памяти. Но происходит единожды за запуск проги - ну допустим при инициализации окна я ресурс выделил, а при уничтожении не освободил. Имеет ли в таком случае эта утечка каке-либо значение?

Поясню. Допустим, в OnPaint главного окна программы я делаю CBitmap *bmp = new CBitmap, а delete bmp - не делаю. Плохо, потому что OnPaint наверняка будет вызвана много-много раз и памяти будет отожрано немерянное количество. А если я так сделаю в OnCreate, которая будет вызвана единожды? Потом по выходе из программы менеджер памяти очистит же всю память, которая была отведена под процесс?
Ответить с цитированием
  (#2 (permalink)) Старый
Garik Garik вне форума
Member
 
Сообщений: 6,201
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 07.06.2002
По умолчанию 05.11.2004, 18:50

Очистить-то он ее очистит. Но все равно это плохой тон.
А что мешает написать этот самый delete?
Насколько я знаю, самое сложное - это найти утечку. А когда она найдена, что сложного в том, чтобы ее устранить???
Ответить с цитированием
  (#3 (permalink)) Старый
c++ c++ вне форума
Member
 
Сообщений: 962
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 31.12.2003
По умолчанию 05.11.2004, 19:01

Такая фантазия:
А если имеется несколько взаимосвязанных между собой процессов, какие-нибудь COM'ы, и имеется общий контроль за ресурсами?
Кстати, может подскажите по смежной теме при сообщения и утечки памяти (http://www.hardforum.ru/t55414)?
Thanx.
Ответить с цитированием
  (#4 (permalink)) Старый
Vladimir the Red Sunny Vladimir the Red Sunny вне форума
Member
 
Сообщений: 4,232
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.05.2003
По умолчанию 09.11.2004, 10:44

Я понимаю про плохой тон.
Ответить с цитированием
  (#5 (permalink)) Старый
Vladimir the Red Sunny Vladimir the Red Sunny вне форума
Member
 
Сообщений: 4,232
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.05.2003
По умолчанию 09.11.2004, 16:11

Вот прочитал в MSDN в статье про мемори лики:

Additional Information
The following article discusses memory leak debugging, with special emphasis on MFC applications:
Blasczak, Mike. Stunt Debugging: Diagnosing Memory Leaks, Visual C++ Developer. Pinnacle Publishing, 1997.
The following book contains no information on debugging memory leaks, but may prove useful if you are writing a white paper and want a quote from an ancient Chinese philosopher:
Цитата:
Tzu, Sun. The Art of War. Various publishers.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Garik Garik вне форума
Member
 
Сообщений: 6,201
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 07.06.2002
По умолчанию 09.11.2004, 16:18

Для поиска ликов удобно использовать
Compuware Bounds Checker или Compuware DevPartner (Bounds Checker входит в состав DevPartner).
Очень удобные и нужные программки.
Ответить с цитированием
  (#7 (permalink)) Старый
Vladimir the Red Sunny Vladimir the Red Sunny вне форума
Member
 
Сообщений: 4,232
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.05.2003
По умолчанию 16.11.2004, 14:22

Пытался я когда-то использовать БоундсЧекер.... так ни хрена и не понял, че ж он, родимый, делает...
Ответить с цитированием
  (#8 (permalink)) Старый
Garik Garik вне форума
Member
 
Сообщений: 6,201
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 07.06.2002
По умолчанию 16.11.2004, 14:36

Цитата:
Originally posted by Vladimir the Red Sunny
[b]Пытался я когда-то использовать БоундсЧекер.... так ни хрена и не понял, че ж он, родимый, делает... :oops:
Он, родимый, добавляет свой код во все операции с памятью, указателями, в вызовы API и еще в кучу мест. А потом в процессе выполнения ловит баги.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Япония: обнаружена утечка на АЭС «Онагава» Dialog567 Новости 0 11.04.2011 19:55
Утечка оперативной памяти. GelezniyDen Windows XP 5 18.01.2010 20:24
Утечка памяти при использовании порта прерывания в Winsock not_x WinAPI 3 25.01.2008 07:16
Утечка памяти sodind Visual Basic 0 08.02.2007 15:37
Происходит ли утечка ресурсов при обрыве программного кода Rune Вопросы начинающих программистов 1 17.10.2006 09:52
Утечка памяти в DevPartner в VS 2005 Sash'Ok! Visual C++ 0 09.10.2006 12:56
Утечка памяти в COM сервере Cat_Vasiliy Visual C++ 2 27.09.2005 07:58
Утечка памяти в COM Cat_Vasiliy Visual C++ 0 16.09.2005 13:33
файл ресурсов imported_Ali_x Visual Basic 0 15.09.2005 22:01
Подключение ресурсов в .NET Matrixman .NET 1 14.03.2005 23:03
Освобождение памяти утечка памяти, память не освобождается SomewhereSomehow C++ Builder 3 23.12.2004 02:29
Утечка памяти при прокрутке картинок в Grid Anonymous Delphi 1 12.09.2003 14:30



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов