Skip to main content

Qu'est-ce qu'une fuite de poignée?

Une fuite de poignée est un type de fuite de ressources, une situation dans laquelle une ressource informatique finie telle que la mémoire est excessivement consommée par une application.Les fuites de poignée se produisent lorsqu'une application ouvre une «poignée», un type spécial de référence à une ressource système et ne fermera pas cette poignée lorsqu'elle n'est plus nécessaire.Ils ont le potentiel de réduire les performances, de provoquer des accidents d'application ou de système et peuvent être un symptôme de bogues majeurs ou de codage bâclé dans un logiciel.De nombreux outils de dépannage sont disponibles pour les programmeurs pour les aider à lutter contre les fuites.

Dans la programmation informatique, une poignée est une structure qui fait référence à une ressource système, comme un bloc de mémoire ou un fichier sur un disque.Les poignées fournissent une couche d'abstraction entre les ressources système et les applications et sont généralement gérées par le système d'exploitation d'un ordinateur via une «table de manche» qui correspond à chaque poignée avec une ressource.Un programmeur peut utiliser une poignée pour se référer à une fenêtre qui est ensuite dessinée à l'écran par le système d'exploitation.

Une application bien élevée publiera des poignées qu'elle ne nécessite plus, libérant des ressources et garantissant que le système d'exploitation ne finit pas par gérer une ressource qui n'est pas utilisée.Les erreurs de programmation, les bogues logiciels et les incompatibilités entre les logiciels peuvent entraîner les programmes de conserver les poignées dont ils n'ont plus besoin.Alors que l'application continue de s'exécuter, elle peut accumuler un grand nombre de poignées inutiles.Ceci est connu comme une fuite de poignée.

La gestion des fuites, comme d'autres types de fuites de ressources, peut entraîner des performances lentes, une instabilité du système ou dans des cas extrêmes, un crash d'ordinateur.En effet, les poignées consomment des ressources finies 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 deviennent épuisées.Le seuil exact auquel une fuite de poignée commence à causer des problèmes dépend du système d'exploitation de l'ordinateur, de la quantité de mémoire disponible et d'autres facteurs.Une fuite dans laquelle quelques dizaines de poignées sont ouvertes ne seront probablement pas remarquées par les utilisateurs, tandis qu'une fuite de poignée de dix mille ou plus est le signe d'un bogue sérieux dans le code de l'application.

Les programmeurs doivent prêter une attention particulière pour gérer les fuites étant donné leur potentiel pour causer des problèmes.La méthode la plus élémentaire pour diagnostiquer une fuite de poignée est d'observer le nombre de poignées, qui est le nombre de manches qu'un processus ou une application a actuellement ouvert, à mesure que l'application s'exécute.The Windows Le gestionnaire de tâches peut afficher ces informations et des utilitaires tiers pour Windows et d'autres systèmes d'exploitation peuvent également être utiles pour identifier et suivre les poignées qui fuient.