C/C++内存检测泄露工具valgrind的安装与使用

最近在进行视频编解码工作中出现了内存泄露等问题,查看代码所有申请的内存均已释放,无奈开始研究使用内存检测泄露工具。
环境:ubantu18.04

一、 安装

  1. 下载------wget http://www.valgrind.org/downloads/valgrind-3.14.0.tar.bz2
  2. 解压------tar -jxf valgrind-3.14.0.tar.bz2
  3. 安装依赖------sudo apt-get install automake
  4. 创建安装路径------mkdir /home/hang/valgrind
  5. sudo ./autogen.sh
  6. ./configure --prefix=/home/hang/valgrind
  7. make
  8. make install
  9. 验证是否安装成功
    cd /home/hang/valgrind/bin
    ./valgrind --leak-check=full ls -l
  10. 安装成功

安装成功
二、测试

  1. 编译C程序-----gcc -g -o decode decode_new.c -I./include/ -L./lib/ -lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice -ldl -lpthread -lm
    [注意:(1)注意gcc的指令与正常的编译时文件的书写顺序不一样]
    [ (2)此指令为我的程序的编译指令,参考不要一致 ]
  2. 使用valgrind检测
    (1)运行指令------/home/hang/valgrind/bin/valgrind --tool=memcheck --leak-check=full ./decode
    (2)C/C++内存检测泄露工具valgrind的安装与使用
    运结果显示出语出内存的申请位置和溢出内存的大小
    (==)