Une fuite de handle est un type de ressource fuite, une situation dans laquelle une ressource informatique finis tels que la mémoire est excessivement utilisé par une application. Manipuler des fuites se produit lorsqu'une application ouvre une "poignée", un type spécial de référence à une ressource du système, et ne parvient pas à fermer cette manche quand il n'est pas nécessaire plus longtemps. Ils ont le potentiel de réduire les performances, provoquer l'application ou le plantage du système, et peut être un symptôme de bugs majeurs ou de codage soignée dans un logiciel. De nombreux outils de dépannage sont disponibles pour les programmeurs pour les aider à lutter contre les fuites de poignée.
Dans la programmation de l'ordinateur, une poignée est une structure qui fait référence à une ressource du système, par exemple un bloc de mémoire ou d'un fichier sur un disque. Poignées fournir une couche d'abstraction entre les ressources du système et des applications, et sont généralement gérées par le système d'exploitation d'un ordinateur grâce à une "table de descripteurs» qui correspond à chaque poignée avec une ressource. Un programmeur peut utiliser une poignée de se référer à une fenêtre qui est ensuite dessiné à l'écran par le système d'exploitation.
Une application bien comportés sortira gère qu'il n'ait plus besoin de libérer des ressources et de s'assurer que le système d'exploitation ne finisse pas la gestion d'une ressource qui n'est pas en cours d'utilisation. Les erreurs de programmation, les bogues logiciels et les incompatibilités entre logiciels peuvent empêcher certains programmes de s'accrocher poignées ils n'ont plus besoin. Comme l'application continue à fonctionner, il peut accumuler un grand nombre de poignées inutiles. Ceci est connu comme une fuite de la poignée.
Poignée fuites, comme d'autres types de fuites de ressources, peut conduire à une stagnation des performances, une instabilité du système, ou dans les cas extrêmes, une panne d'ordinateur. C'est parce que les poignées consomment des ressources limitées comme la mémoire du système, et si une application génère un nombre excessif de poignées sans les fermer, ces ressources s'épuisent. Le seuil exact où une fuite de poignée commence à causer des problèmes dépend du système de l'ordinateur d'exploitation, la quantité de mémoire disponible et d'autres facteurs. Une fuite dans laquelle quelques dizaines de poignées sont laissées ouvertes ne sera probablement pas remarquée par les utilisateurs, tandis qu'une fuite de handle de dix mille ou plus est un signe d'un sérieux bogue dans le code de l'application.
Les programmeurs doivent accorder une attention particulière à gérer les fuites en raison de leur potentiel de causer des problèmes. Le procédé le plus élémentaire pour diagnostiquer une fuite de poignée est d'observer le nombre de poignée, qui est le nombre de poignées ou de l'application d'un processus a déjà ouvert, comme l'application s'exécute. Le Gestionnaire des tâches de Windows peut afficher cette information, et les services de tiers pour les deux autres systèmes d'exploitation Windows et peut également être utile pour identifier et traquer les poignées qui fuient.