C--valgrind

     1.简介

    Valgrind工具集提供一系列调试和分析工具,使用户的程序运行更快更正确。其中最流行的工具是Memcheck,它能够检测到在C/C++程序中可能导致崩溃和不可预测的诸多内存相关错误!

     2.程序准备

    使用Gcc编译器,同时加上-g参数进行;以使Memcheck发现的错误能包含准确的行号。尽量不要使用-O+优化等级数的形式进行优化,这可能导致程序运行更缓慢,或者导致产生不准确的错误信息。

     3.运行程序

运行方式:

   如果你的程序运行的方式为:  program   arg1  arg2

那么使用命令行的形式:

         valgrind   --leak-check=yes  program arg1  arg2

如:valgrind    ./example                        //valgrind 的命令参数可自行选择

valgrind运行的消息显示形式

 

消息形式为

    ==pid==        some-message-from-Valgrind        

     4.valgrind命令常用参数:

--leak-check  = yes    开启 内存泄漏检测

--tool=[tools_of_valgrind]            

--gen-suppressions=yes   开启错误抑制,防止产生过多无关的错误

--log-file=[filename]     将日志消息写入指定的文件中

     5.valgrind提供的其他工具

valgrind软件包提供诸多的工具在不同的方面对程序进行调试和分析,常见的插件工具有:

  Memcheck:内存错误检测器,查找一些隐藏的bugs,是系统默认的工具

  Cachegrind :缓存和分支预测分析器,使用户成寻运行更快

  Helgrind:多线程错误检测器

  Massif:堆栈分析器,使用户程序占用更少的内存

其他工具有:Callgrind、DRD、DHAT、SGcheck、BBV等

     6.valgrind的安装

官网地址:http://valgrind.org/     下载相应的安装包

        #tar -jzf  valgrind-xxxxxx.tar.bz2

        #cd  valgrind-xxxxx

        #./configrue                 //缺少相关的依赖,请自行处理!

        #make

        #make install

                                                                                                                            ------完毕!

 

 

    

你可能感兴趣的:(linux,开源,valgrind)