stringtranslate.com

Manejar la fuga

Una fuga de identificador es un tipo de error de software que ocurre cuando un programa de computadora solicita un identificador para un recurso pero no lo libera cuando ya no se usa. [1] Si esto ocurre con frecuencia o repetidamente durante un período de tiempo prolongado, es posible que una gran cantidad de identificadores estén marcados como en uso y, por lo tanto, no estén disponibles, lo que provocará problemas de rendimiento o un bloqueo .

El término se deriva de pérdida de memoria . Las fugas de control, como las pérdidas de memoria, son casos específicos de fugas de recursos .

Causas

Una causa de una pérdida de identificador es cuando un programador cree erróneamente que recuperar un identificador de una entidad es simplemente obtener una referencia no administrada , sin comprender que en realidad se está realizando un recuento, una copia u otra operación. Otra ocurre debido a patrones de diseño deficientes en el manejo de excepciones cuando los programadores no consideran que cuando ocurre una excepción y se sale prematuramente de una subrutina, es posible que el código de limpieza al final de la rutina no se ejecute.

Un ejemplo de esto podría ser recuperar un identificador del dispositivo de visualización. Los programadores pueden usar este identificador para verificar alguna propiedad (por ejemplo, consultar las resoluciones admitidas) y luego simplemente continuar sin soltar el identificador. Si el identificador fuera solo un puntero a alguna estructura de datos sin administración adicional, permitir que el identificador salga del alcance no causaría ningún problema. Sin embargo, en muchos casos, dichos identificadores deben cerrarse o liberarse explícitamente para evitar la pérdida de recursos asociados con ellos; Los requisitos exactos de lo que se debe hacer con un identificador varían según la interfaz.

Referencias

  1. ^ "¿Qué es una fuga en la manija? (con imagen)". EasyTechJunkie . Consultado el 11 de noviembre de 2022 .