C程式記憶體洩露檢測工具

2021-07-11 16:47:55 字數 736 閱讀 9184

今天給大家帶來一款檢測c程式記憶體洩露的一款實用工具——memwatch

memwatch 由 johan lindh 編寫,是乙個開放源** c 語言記憶體錯誤檢測工具。只要在**中新增乙個標頭檔案並在 gcc 語句中定義了 memwatch 之後,您就可以跟蹤程式中的記憶體洩漏和錯誤了。memwatch 支援 ansi c,它提供結果日誌記錄,能檢測雙重釋放(double-free)、錯誤釋放(erroneous free)、沒有釋放的記憶體(unfreed memory)、溢位和下溢等等。

使用者只需要在自己的工程專案目錄中加入memwatch.h和memwatch.c,編譯時加上-dmemwatch -dmw_stdio及memwatch.c就能使用memwatch,例如:

gcc  test.c memwatch.c -o test -dmemwatch -dmw_stdio

然後memwatch就會在預設當前目錄下生成libmem.log檔案

這個程式執行了兩次,第一次我釋放了記憶體,所以不會存在記憶體洩露,第二次我注釋了釋放資源的函式,這時候,在程式執行完畢之後,該日誌檔案後面就會顯示你的程式在第幾行,多少位元組,位址等資訊,然後你就可以根據這些資訊修改程式

在linux c程式設計中,往往會因為程式設計師誤操作導致部分資源沒有釋放,這時候使用memwatch則是乙個更加好的辦法。

記憶體洩露檢測工具 valgrind

valgrind 安裝 2.解壓安裝包 tar jxvf valgrind 3.2.3.tar.bz2 3.解壓後生成目錄valgrind 3.2.3 4.cd valgrind 3.2.3 5.執行.autogen.sh設定環境 需要標準的autoconf工具 可選 6.configure 配置v...

Linux C記憶體洩露檢測工具

在linux下些c語言程式,最大的問題就是沒有乙個好的程式設計ide,當然想kdevelop等工具都相當的強大,但我還是習慣使用kdevelop工具,由於沒有乙個習慣的程式設計ide,記憶體檢測也就成了在linux下編寫程式的乙個大問題。是不是說沒有一種記憶體檢查工具能夠在linux使用呢,也不是,...

valgrind記憶體洩露檢測工具

一 安裝 valgrind linux環境首先進入root使用者 然後執行下面的命令 tar jxvf valgrind 3.12.0.tar.bz2 cd valgrind 3.12.0 configure make make install valgrind version 檢視valgrind...