㈠ 如何定位分析linux內存泄漏問題
1、閱讀源代碼及分析動態內存的使用
由於之前沒有做過類似的問題(純屬小白了,慘遭鄙視....),所以就想著通過自己去看代碼,查找裡面涉及到使用動態內存的代碼段去定位問題(現在想想,真是太幼稚了,大家見笑了...),但是自己還是去通過對源代碼跟蹤、分析,主要是對動態分配的內存(如malloc函數分配的內存)、一些文件描述符等進行跟蹤,分析在程序邏輯中對動態分配的內存有沒有手動進行釋放,打開的文件描述符有沒有關閉等這些代碼一點點的去分析,當然這也是熟悉代碼,了解的一個過程。
2、利用memwatch內存檢測工具對程序進行內存分析
Memwatch是一款C語言的內存檢測工具。memwatch使用它自己定義的功能函數取代所有在你的程序中用ANSI C定義的內存分配函數,memwatch的內存分配函數包含了所有的分配記錄信息。memwatch功能默認不是開啟的,除非定義了MEMWATCH,否則在代碼中不會跟蹤相關的內存使用情況。memwatch通常將它的數據寫入到memwatch.log文件中,它也可以被重定向