sudo apt-get install valgrind
使用格式如下:
valgrind --tool=memcheck(等一些開關指令) 可執行檔名
開關指令如下:
--tool=memecheck #使用valgrind工具集中的memcheck工具
--leak-check=full #完全full檢查記憶體洩漏(可以顯示哪個檔案的哪一行分配的記憶體出現了洩露)
--show-reachable=yes #顯示記憶體洩漏地點
如對乙個無記憶體洩漏的程式名為nginx的程式呼叫如下**:
valgrind --tool=memcheck --leak-check=full --show-reachable=yes .
/nginx
會得到如下結果:
圖中標註的地方顯示,一共分配了9處記憶體,其中9處記憶體均被釋放。
如果除錯乙個有記憶體洩漏的程式,結果如下:
可以看到9處分配的記憶體只釋放了7處,且未釋放的記憶體位於ngx_c_conf,cpp的第57行。
由valgrind工具可以很快的除錯出程式記憶體洩漏的數量及地點。
Linux記憶體洩漏檢查工具 valgrind
valgrind工具功能很多,可以動態檢測程式執行時的問題,其中一項就是檢測記憶體洩漏。使用方法 valgrind options prog and args 用例 問題程式 memleak.c include include main int argc,char argv 執行程式 valgrin...
VLD 記憶體洩漏檢查工具
1.安裝vld 2.5.1 2.配置依賴庫,工程新增路徑。additional include directories soup visual leak detector include additional depandencies soup visual leak detector lib wi...
記憶體洩漏檢查
1.乙個指標多次進行賦值時,每次賦值後使用完後要釋放記憶體 coffsetcoedgemap poffsetcoedgemap polygonoffset ppoly,retpolygon,doffsetdis,enextend,0.1 expect true g ovldmgr.isvalid r...