Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jeśli aplikacja rozproszona używa [ wejściowy, wyjściowy, unikatowy] lub [wejściowy, wyjściowy, ptr] parametr wskaźnika, strona serwera aplikacji może zmienić wartość parametru wskaźnika na null. Gdy serwer następnie zwraca wartość null do klienta, pamięć przywoływana przez wskaźnik przed zdalnym wywołaniem procedury jest nadal obecna po stronie klienta, ale nie jest już dostępna z tego wskaźnika (z wyjątkiem sytuacji, gdy jest to aliasowany pełny wskaźnik). Mówi się, że pamięć jest osierocona. Jest to również nazywane przeciekiem pamięci . Powtarzające się pozostawianie pamięci niewykorzystanej na kliencie powoduje wyczerpanie dostępnych zasobów pamięci przez klienta.
Pamięć może być również pozbawiona przynależności za każdym razem, gdy serwer zmienia wskaźnik wbudowany na wartość nullową. Jeśli na przykład parametr wskazuje złożoną strukturę danych, taką jak drzewo, po stronie serwera aplikacji można usunąć węzły drzewa i ustawić wskaźniki wewnątrz drzewa na wartość null.
Inna sytuacja, która może prowadzić do wycieku pamięci, dotyczy tablic zgodnych, zmiennych i otwartych zawierających wskaźniki. Gdy aplikacja serwera modyfikuje parametr określający rozmiar tablicy lub przesyłany zakres, tak aby reprezentował mniejszą wartość, stuby używają tych mniejszych wartości do zwolnienia pamięci. Elementy tablicy z indeksami większymi niż parametr rozmiaru są osierocone. Aplikacja musi zwolnić elementy poza przesłanym zakresem.