Hvad er en håndtagslækage?
En håndtagslækage er en type ressourcelækage, en situation, hvor en begrænset databehandlingsressource, såsom hukommelse, forbruges for meget af en applikation. Håndtagslækager opstår, når et program åbner et “håndtag”, en speciel type henvisning til en systemressource og ikke lukker dette greb, når det ikke længere er nødvendigt. De har potentialet til at reducere ydeevnen, forårsage applikations- eller systemulykker, og kan være et symptom på større fejl eller slurvende kodning i et softwareprogram. Mange fejlfindingsværktøjer er tilgængelige for programmerere til at hjælpe dem med at bekæmpe lækager.
Ved computerprogrammering er et håndtag struktur, der refererer til en systemressource, såsom en hukommelsesblok eller en fil på en disk. Håndtag tilvejebringer et lag med abstraktion mellem systemressourcer og applikationer og administreres normalt af en computers operativsystem gennem en "håndtagetabel", der matcher hvert håndtag med en ressource. En programmerer bruger muligvis et håndtag til at henvise til et vindue, der derefter tegnes på skærmen af operativsystemet.
Et velopdraget program frigiver håndtag, som det 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, softwarebugs og inkompatibilitet mellem software kan få programmer til at holde fast i håndtag, som de ikke længere har brug for. Når applikationen fortsætter med at køre, kan den muligvis akkumulere et stort antal unødvendige håndtag. Dette er kendt som en håndtagslækage.
Håndter lækager, ligesom andre typer ressourcelækager, kan føre til langsom ydeevne, systemstabilitet eller i ekstreme tilfælde et computernedbrud. 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 opbrugt. Den nøjagtige tærskel, hvormed et 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 nogle få dusin håndtag er åbne, vil sandsynligvis ikke blive bemærket af brugerne, mens en håndtagslækage på ti tusind eller mere er et tegn på en alvorlig fejl i programmets kode.
Programmerere er nødt til at være særlig opmærksomme på at håndtere lækager på grund af deres potentiale til at forårsage problemer. Den mest basale metode til diagnosticering af en håndtagslækage er at observere antallet af håndtag, som er antallet af håndtag, som en proces eller applikation i øjeblikket har åben, 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.