句柄泄漏是一種資源泄漏,是指應用程序過度消耗有限的計算資源(如內存)的情況。當應用程序打開"句柄"(對系統資源的特殊引用類型)時,會發生句柄泄漏,當不再需要該句柄時無法關閉它。它們有可能降低性能,導致應用程序或系統崩潰...
句柄泄漏是一種資源泄漏,是指應用程序過度消耗有限的計算資源(如內存)的情況。當應用程序打開"句柄"(對系統資源的特殊引用類型)時,會發生句柄泄漏,當不再需要該句柄時無法關閉它。它們有可能降低性能,導致應用程序或系統崩潰,它可能是軟件程序中主要錯誤或草率編碼的癥狀。程序員可以使用許多故障排除工具來幫助他們處理泄漏。

句柄泄漏是一種資源可能導致計算機系統崩潰的耗盡問題。
在計算機編程中,句柄是指引用系統資源的結構,例如磁盤上的一塊內存或一個文件。句柄在系統資源和應用程序之間提供了一個抽象層,通常由計算機的操作系統通過一個"句柄表"來管理,該表將每個句柄與一個資源相匹配。程序員可以使用一個句柄來引用一個窗口,然后由操作系統。
性能良好的應用程序將釋放不再需要的句柄,釋放資源并確保操作系統不會管理未使用的資源。編程錯誤、軟件錯誤,軟件之間的不兼容會導致程序保留不再需要的句柄。當應用程序繼續運行時,可能會積累大量不需要的句柄。這稱為句柄泄漏。
句柄泄漏與其他類型的資源泄漏一樣,會導致性能低下、系統不穩定,或者在極端情況下,電腦崩潰這是因為句柄消耗有限的資源,如系統內存,如果應用程序在不關閉句柄的情況下生成了過多的句柄,這些資源就會耗盡。句柄泄漏引發問題的確切閾值取決于計算機的操作系統、可用內存量,還有其他因素。如果有幾十個把手打開,用戶可能不會注意到,如果句柄泄漏超過一萬個,則表明應用程序的代碼中存在嚴重的錯誤。
程序員需要特別注意句柄泄漏,因為它們有可能導致問題。診斷句柄泄漏的最基本方法是觀察句柄數,當應用程序運行時,進程或應用程序當前打開的句柄數。Windows?任務管理器可以顯示此信息,Windows?和其他操作系統的第三方實用程序在識別和跟蹤泄漏句柄時也可能很有用。