內存泄露及其檢測方法


1.定義

內存泄漏指的是在程序里動態申請的內存在使用完后,沒有進行釋放。它的一般表現方式是程序運行時間越長,占用內存越多,最終用盡全部內存,整個系統崩潰。由程序申請的一塊內存,且沒有任何一個指針指向它,那么這塊內存就泄露了。

2.檢測方法

  1. 良好的編碼習慣,盡量在涉及內存的程序段,檢測出內存泄露。當程式穩定之后,在來檢測內存泄露時,無疑增加了排除的困難和復雜度。使用了內存分配的函數,一旦使用完畢,要記得要使用其相應的函數釋放掉。
  2. 將分配的內存的指針以鏈表的形式自行管理,使用完畢之后從鏈表中刪除,程序結束時可檢查改鏈表。
  3. Boost 中的smart pointer
  4. 一些常見的工具插件,如ccmalloc、Dmalloc、Leaky等等。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM