Valgrind下載、安裝和使用


下載 valgrind-3.15.0.tar.bz2

安裝

$ sudo apt-get install automake
$ tar jxf valgrind-3.15.0.tar.bz2
$ cd valgrind-3.15.0
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

使用

1、檢查是否有內存泄露

$ gcc 3_12.c
$ valgrind ./a.out

下圖顯示 [ 沒有error,warning,但是卻發生了內存泄露 ] ,因此,需要進行手動釋放 malloc 開辟的空間。

2、開始調試

1)首先,打開一個終端,添加調試信息

$ gcc -g 3_12.c
$ valgrind --vgdb=yes --vgdb-error=0 ./a.out

2)然后,新建一個終端(Terminal),開始調試。

【前一個終端不要關閉,從現在開始始終在這個終端里 [ 輸入命令 ] ,從前一個終端中 [ 觀察輸出 ] 。】

$ gdb ./a.out
(gdb) target remote | vgdb

調試步驟:

  1. 使用b命令在可能發生內存泄露行的附近設置一個斷點
  2. 輸入continue令程序執行到斷點處(注意:不是gdb中的r命令)
  3. 輸入sn進行單步調試,觀察輸出結果

⌈ 或者 ⌋ 不進行單步調試,直接輸出堆棧信息:

$ valgrind ./a.out --leak-check=full

最后,

經過調試,顯示正常了 13 allocs 13 frees 。


免責聲明!

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



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