Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Тестирование на предмет утечек памяти






 

Утечка памяти — это тип ошибки, которая приводит к тому, что приложение посте­ пенно заполняет всю виртуальную память, управляемую операционной системой. Множество современных языков организуют в виртуальной памяти стек и кучу, обес­ печивая более эффективное и удобное управление временной областью памяти. Утечки памяти имеют несколько других названий, в числе которых паразитное рас­ пределение памяти, разрушение стека, разрушение памяти, квазипереполнение. Ос­ новная причина возникновения ошибки утечки памяти — невозможность освобожде­ ния виртуальной памяти, которая динамически запрашивается приложением. Не су­ ществует никаких внешних средств устранения утечки памяти, за исключением избе­ жания рабочей области приложения, вызывающей утечку памяти. Большинство со­ трудников служб технической поддержки просто рекомендуют прервать выполнение приложения или перезагрузить операционную систему. На рис. 10.5 показан пример сообщения группы технической поддержки компании Microsoft относительно утечки памяти в поступившей в продажу версии операционной системы Windows 95.

 

 

Компания Microsoft поместила средства обхода и исправления этих ошибок утеч­ ки памяти на соответствующие Web-сайты.

 

Как правило, утечка памяти происходит в небольшой функции, которая правиль­ но написана для своей удачной ветви, но неправильно — для неудачной ветви. Если вы­ деление виртуальной памяти выполняется во время запуска функции, но ввод данных пользователем приводит к прерыванию программы, обработчик ошибок для данного прерывания может быть не запрограммирован для освобождения виртуальной памя­ ти. Независимо от того, велик или мал объем выделяемой памяти, повторяющийся характер функции, в конечном счете, обусловит уменьшение объема доступной вир­ туальной памяти, и программа больше не сможет функционировать. Особенно уяз­ вимы в этом отношении приложения, которые выполняются круглосуточно в тече­ ние всех семи дней недели. Даже самые малые утечки памяти со временем приведут к разрушению программы или системы.


Часть П. Технологии быстрого тестирования и советы

 

УТЕЧКА ПАМЯТИ В ЯДРЕ WINDOWS 95 ПРИ ИСПОЛЬЗОВАНИИ СОКЕТОВ WINDOWS

 

СИМПТОМЫ

 

При запуске программы, которая использует сокеты Windows, в среде Windows 95 со временем может происходить увеличение объема памяти, используемой операционной системой, особенно если программа открывает и закрывает множество каналов.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.