如果您的分散式應用程式使用 [ in,out,unique] 或 [in,out,ptr] 指標參數,則應用程式的伺服器端可以將指標參數的值變更為 null。 當伺服器隨後將 Null 值傳回給用戶端時,在遠端過程調用之前指標所參考的記憶體仍存在於用戶端上,但無法再從該指標存取(除非在別名的完整指標的情況下除外)。 據說這個記憶是 孤兒。 這也稱為 記憶體流失。 用戶端反覆遺棄記憶體會導致用戶端耗盡可用的記憶體資源。
每當伺服器將內嵌指標變更為 Null 值時,記憶體也可以孤立。 例如,如果 參數指向複雜的數據結構,例如樹狀結構,則應用程式的伺服器端可以刪除樹狀結構的節點,並將樹狀結構內的指標設定為 null。
另一種可能導致記憶體洩漏的情況涉及一致性、變異且開放式的陣列,其中包含指標。 當伺服器應用程式修改指定陣列大小或傳輸範圍的 參數,使其代表較小的值時,存根會使用較小的值來釋放記憶體。 索引大於size參數的陣列元素會遭到孤立。 您的應用程式必須在傳輸範圍之外釋放元素。