Jump to content

Ручка утечки

Утечка дескриптора это тип программной ошибки , которая возникает, когда компьютерная программа запрашивает дескриптор ресурса , но не освобождает дескриптор, когда он больше не используется. [1] Если это происходит часто или неоднократно в течение длительного периода времени, большое количество дескрипторов могут быть помечены как используемые и, следовательно, недоступны, что приведет к проблемам с производительностью или сбою .

Этот термин происходит от утечки памяти . Утечки дескрипторов, как и утечки памяти, являются конкретными случаями утечек ресурсов .

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

Примером этого может быть получение дескриптора устройства отображения. Программисты могут использовать этот дескриптор для проверки какого-либо свойства (например, запроса поддерживаемых разрешений), а затем просто продолжить, даже не отпуская дескриптор. Если бы дескриптор был просто указателем на некоторую структуру данных без какого-либо дополнительного управления, то выход дескриптора за пределы области действия не вызвал бы проблемы. Однако во многих случаях такие дескрипторы должны быть явно закрыты или освобождены, чтобы избежать утечки связанных с ними ресурсов; Точные требования к тому, что необходимо делать с помощью ручки, различаются в зависимости от интерфейса.

  1. ^ «Что такое утечка ручки? (с изображением)» . EasyTechJunkie . Проверено 11 ноября 2022 г.


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: db1559a97ef6845a28d45f8d7e1c9f1c__1668318060
URL1:https://arc.ask3.ru/arc/aa/db/1c/db1559a97ef6845a28d45f8d7e1c9f1c.html
Заголовок, (Title) документа по адресу, URL1:
Handle leak - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)