1、記憶體洩漏也稱作“存儲滲漏”,用動态存儲配置設定函數動态開辟的空間,在使用完畢後未釋放,結果導緻一直占據該記憶體單元。直到程式結束。即所謂記憶體洩漏。
2、簡單的說就是申請了一塊記憶體空間,使用完畢後沒有釋放掉。它的一般表現方式是程式運作時間越長,占用記憶體越多,最終用盡全部記憶體,整個系統崩潰。由程式申請的一塊記憶體,且沒有任何一個指針指向它,那麼這塊記憶體就洩露了。
3、一般我們常說的記憶體洩漏是指堆記憶體的洩漏。
堆記憶體是指程式從堆中配置設定的,大小任意的(記憶體塊的大小可以在程式運作期決定),使用完後必須顯示釋放的記憶體。
應用程式一般使用malloc,realloc,new等函數從堆中配置設定到一塊記憶體,使用完後,程式必須負責相應的調用free或delete釋放該記憶體塊,否則,這塊記憶體就不能被再次使用,我們就說這塊記憶體洩漏了。
4、在使用記憶體時,我們應當秉承“誰申請,誰釋放”的原則。
5、ccmalloc-Linux和Solaris下對C和C++程式的簡單的使用記憶體洩漏和malloc調試庫。
參考[1]中給出了更多的調試庫。