Skip to main content

Hvad er et håndtagslækage?

En håndtagslækage er en type ressourcelækage, en situation, hvor en endelig computerressource som hukommelse forbruges for meget af en applikation.Håndter lækager opstår, når en applikation åbner et "håndtag", en særlig type reference til en systemressource, og undlader at lukke dette håndtag, når det ikke er nødvendigt længere.De har potentialet til at reducere ydeevne, forårsage anvendelse eller systemulykke og kan være et symptom på større fejl eller slurvede kodning i et softwareprogram.Mange fejlfindingsværktøjer er tilgængelige for programmerere for at hjælpe dem med at bekæmpe håndtagslækager.

I computerprogrammering er et håndtag struktur, der refererer til en systemressource, såsom en blok af hukommelse eller en fil på en disk.Håndtag giver et lag abstraktion mellem systemressourcer og applikationer og administreres normalt af et computers operativsystem gennem et "håndtagstabel", der matcher hvert håndtag med en ressource.En programmør kan muligvis bruge et håndtag til at henvise til et vindue, der derefter tegnes på skærmen af operativsystemet.

En velopdragen applikation frigiver håndtag, som den ikke længere kræver, frigør ressourcer og sikrer, at operativsystemet ikke ender med at styre en ressource, der ikke er i brug.Programmeringsfejl, softwarefejl og uforenelighed mellem software kan få programmer til at holde fast i håndtag, de ikke længere har brug for.Efterhånden som ansøgningen fortsætter med at køre, kan den akkumulere et stort antal unødvendige håndtag.Dette er kendt som et håndtagslækage.

Håndter lækager, som andre typer ressourcelækager, kan føre til træg ydeevne, systeminstabilitet eller i ekstreme tilfælde et computerulykke.Dette skyldes, at håndtag forbruger begrænsede ressourcer som systemhukommelse, og hvis en applikation genererer et for stort antal håndtag uden at lukke dem, bliver disse ressourcer udmattede.Den nøjagtige tærskel, hvormed en håndtagslækage begynder at forårsage problemer, afhænger af computerens operativsystem, mængden af tilgængelig hukommelse og andre faktorer.En lækage, hvor et par dusin håndtag efterlades åbne, vil sandsynligvis ikke blive bemærket af brugerne, mens et håndtagslækage på ti tusind eller mere er et tegn på en seriøs fejl i applikationens kode.

Programmerere skal være særlig opmærksomme på at håndtere lækager i betragtning af deres potentiale til at forårsage problemer.Den mest basale metode til diagnosticering af en håndtagslækage er at observere grebetællingen, som er antallet af håndtag, en proces eller applikation i øjeblikket har åbent, når applikationen kører.Windows Task Manager kan vise disse oplysninger og tredjepartsværktøjer til både Windows og andre operativsystemer kan også være nyttige til at identificere og spore lækkende håndtag.