¿Qué es una fuga de mango?
Una pérdida de identificador es un tipo de pérdida de recursos, una situación en la que una aplicación consume un recurso informático finito como la memoria. Las fugas de los identificadores se producen cuando una aplicación abre un "identificador", un tipo especial de referencia a un recurso del sistema, y no cierra ese identificador cuando ya no es necesario. Tienen el potencial de reducir el rendimiento, causar fallas en la aplicación o el sistema, y pueden ser un síntoma de errores importantes o codificación descuidada en un programa de software. Muchas herramientas de solución de problemas están disponibles para los programadores para ayudarlos a combatir las fugas de manejo.
En la programación de computadoras, un identificador es una estructura que hace referencia a un recurso del sistema, como un bloque de memoria o un archivo en un disco. Los controladores proporcionan una capa de abstracción entre los recursos del sistema y las aplicaciones y, por lo general, son administrados por el sistema operativo de una computadora a través de una "tabla de controladores" que hace coincidir cada controlador con un recurso. Un programador puede usar un identificador para referirse a una ventana que luego es dibujada en la pantalla por el sistema operativo.
Una aplicación con buen comportamiento liberará identificadores que ya no requiere, liberando recursos y asegurando que el sistema operativo no termine administrando un recurso que no está en uso. Los errores de programación, los errores de software y las incompatibilidades entre software pueden hacer que los programas se aferren a los controladores que ya no necesitan. A medida que la aplicación continúa ejecutándose, puede acumular una gran cantidad de identificadores innecesarios. Esto se conoce como una fuga de mango.
El manejo de fugas, como otros tipos de fugas de recursos, puede conducir a un rendimiento lento, inestabilidad del sistema o, en casos extremos, un bloqueo de la computadora. Esto se debe a que los identificadores consumen recursos finitos, como la memoria del sistema, y si una aplicación genera un número excesivo de identificadores sin cerrarlos, estos recursos se agotan. El umbral exacto en el que una fuga de la manija comienza a causar problemas depende del sistema operativo de la computadora, la cantidad de memoria disponible y otros factores. Es probable que los usuarios no noten una fuga en la que se dejan abiertas unas pocas docenas de identificadores, mientras que una pérdida de identificador de diez mil o más es un signo de un error grave en el código de la aplicación.
Los programadores deben prestar especial atención para manejar las fugas dado su potencial para causar problemas. El método más básico para diagnosticar una pérdida de identificador es observar el recuento de identificadores, que es el número de identificadores que un proceso o aplicación tiene abiertos actualmente, a medida que se ejecuta la aplicación. El Administrador de tareas de Windows® puede mostrar esta información, y las utilidades de terceros para Windows® y otros sistemas operativos también pueden ser útiles para identificar y rastrear los identificadores con fugas.