Wyciek obsługi to rodzaj wycieku zasobów, sytuacja, w której ograniczony zasób obliczeniowy, taki jak pamięć, jest nadmiernie zużywany przez aplikację. Wycieki uchwytów występują, gdy aplikacja otwiera „uchwyt”, specjalny rodzaj odwołania do zasobu systemowego i nie zamyka tego uchwytu, gdy nie jest już potrzebny. Mogą one potencjalnie zmniejszać wydajność, powodować awarie aplikacji lub systemu i mogą być objawem poważnych błędów lub niechlujnego kodowania w programie. Wiele narzędzi do rozwiązywania problemów jest dostępnych dla programistów, aby pomóc im w radzeniu sobie z przeciekami.
W programowaniu komputerowym uchwyt jest strukturą, która odwołuje się do zasobu systemowego, takiego jak blok pamięci lub plik na dysku. Uchwyty zapewniają warstwę abstrakcji między zasobami systemowymi a aplikacjami i są zwykle zarządzane przez system operacyjny komputera za pomocą „tabeli uchwytów”, która dopasowuje każdy uchwyt do zasobu. Programista może użyć uchwytu do odwoływania się do okna, które jest następnie rysowane na ekranie przez system operacyjny.
Dobrze zachowująca się aplikacja zwolni uchwyty, których już nie potrzebuje, zwalniając zasoby i zapewniając, że system operacyjny nie będzie zarządzał nieużywanym zasobem. Błędy programistyczne, błędy oprogramowania i niezgodności między programami mogą powodować, że programy będą trzymać się uchwytów, których już nie potrzebują. Ponieważ aplikacja nadal działa, może gromadzić dużą liczbę niepotrzebnych uchwytów. Nazywa się to wyciekiem uchwytu.
Radzenie sobie z wyciekami, podobnie jak inne rodzaje wycieków zasobów, może prowadzić do spowolnienia działania, niestabilności systemu lub w skrajnych przypadkach do awarii komputera. Dzieje się tak, ponieważ uchwyty zużywają ograniczone zasoby, takie jak pamięć systemowa, a jeśli aplikacja wygeneruje nadmierną liczbę uchwytów bez ich zamykania, zasoby te zostaną wyczerpane. Dokładny próg, przy którym wyciek obsługi zaczyna powodować problemy, zależy od systemu operacyjnego komputera, ilości dostępnej pamięci i innych czynników. Wyciek, w którym kilkadziesiąt uchwytów pozostaje otwartych, prawdopodobnie nie zostanie zauważony przez użytkowników, podczas gdy wyciek uchwytu rzędu dziesięciu tysięcy lub więcej jest oznaką poważnego błędu w kodzie aplikacji.
Programiści muszą zwracać szczególną uwagę na radzenie sobie z wyciekami, ponieważ mogą one powodować problemy. Najbardziej podstawową metodą diagnozowania wycieku uchwytów jest obserwowanie liczby uchwytów, czyli liczby uchwytów, które proces lub aplikacja ma aktualnie otwarte podczas działania aplikacji. Menedżer zadań systemu Windows® może wyświetlać te informacje, a narzędzia innych firm dla systemu Windows® i innych systemów operacyjnych mogą być również przydatne w identyfikowaniu i śledzeniu nieszczelnych dojścia.