麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C > 正文

Unix下C程序內存泄漏檢測工具Valgrind的安裝與使用詳解

2020-01-26 15:57:08
字體:
來源:轉載
供稿:網友
Valgrind是一款用于內存調試、內存泄漏檢測以及性能分析的軟件開發工具。
Valgrind的最初作者是Julian Seward,他于2006年由于在開發Valgrind上的工作獲得了第二屆Google-O'Reilly開源代碼獎。
Valgrind遵守GNU通用公共許可證條款,是一款自由軟件。

官網
http://www.valgrind.org
 
下載與安裝
#wget http://www.valgrind.org/downloads/valgrind-3.8.1.tar.bz2
#tar xvf valgrind-3.8.1.tar.bz2
#cd valgrind-3.8.1
#./configure --prefix=/usr/local/webserver/valgrind
#make
#make install

測試代碼
復制代碼 代碼如下:

#include <stdlib.h>
int* func(void)
{
   int* x = malloc(10 * sizeof(int));
   x[10] = 0;  //問題1: 數組下標越界
}                 
 int main(void)
{
   int* x=NULL;
   x=func();
   //free(x); 
   x=NULL;
   return 0;   //問題2: 內存沒有釋放
 }

編譯
#gcc -g -o test test.c

內存檢查
#valgrind --tool=memcheck --leak-check=yes --show-reachable=yes ./test

報告:


說明
Invalid write of size 4:表示數組越界寫了4字節
40 bytes in 1 blocks:表示因程序退出而發生內存泄露40字節

修復bug,重新檢查提示已經沒有內存泄露



文檔:
Valgrind 中包含的 Memcheck 工具可以檢查以下的程序錯誤:

使用未初始化的內存 (Use of uninitialised memory)
使用已經釋放了的內存 (Reading/writing memory after it has been free'd)
使用超過malloc分配的內存空間(Reading/writing off the end of malloc'd blocks)
對堆棧的非法訪問 (Reading/writing inappropriate areas on the stack)
申請的空間是否有釋放 (Memory leaks

主站蜘蛛池模板: 一级免费黄色 | www.777含羞草 | 一本色道久久综合狠狠躁篇适合什么人看 | 久久国产夫妻视频 | 一区二区三区在线观看国产 | 久草在线资源福利站 | 亚洲一区二区国产 | www亚洲免费| 国产一级小视频 | 少妇一级淫片免费放正片 | 日本一级黄色大片 | 久久久久久久一区二区三区 | 国产一区免费 | 久章草在线观看 | 国产在线精品91 | 97中文字幕在线观看 | 日韩视频一区二区在线观看 | 国产精品九九久久一区hh | 中文字幕偷拍 | 久久精品亚洲精品国产欧美kt∨ | 国产精品99一区二区 | 国产一区二区三区视频免费 | 久久久久久久久成人 | 毛片在线免费视频 | 成年免费观看视频 | 久久国产一二区 | 欧美另类综合 | 红桃一区 | 亚州综合图片 | 国产99视频在线观看 | 日本黄色免费片 | 中文字幕综合在线观看 | 色的综合 | 92看片淫黄大片欧美看国产片 | 国产一级免费视频 | 一区二区三区在线观看免费视频 | 亚洲一区在线视频观看 | 欧美乱码精品一区 | 一区二区三区视频在线观看 | 久久精品电影网 | 久久电影一区二区 |