1.Linux平台下 如何發現內存洩漏
ps -aux
2. 靜態分析
**2.1 手動檢測**
**2.2 靜態代碼分析工具**
代碼靜態掃描和分析的工具比較多,比如 splint, PC-LINT, BEAM 等。因為 BEAM 支持的平台比較多,這以 BEAM 為例,做個簡單介紹,其它有類似的處理過程。
BEAM 可以檢測四類問題: 沒有初始化的變量;廢棄的空指針;內存洩漏;冗余計算。而且支持的平台比較多。
**2.3 內嵌程序**
可以重載內存分配和釋放函數 new 和 delete,然後編寫程序定期統計內存的分配和釋放,從中找出可能的內存洩漏。或者調用系統函數定期監視程序堆的大小,關鍵要確定堆的增長是洩漏而不是合理的內存使用。這類方法比較復雜,在這就不給出詳細例子了。