linux 静态代码检测工具valgrind的安装及使用

使用valgrind检查代码是否有内存泄露是比较好的办法。

下面简单介绍valgrind的安装及使用。

安装:

最新的版本可以在http://www.cnblogs.com/chingliu/archive/2011/12/10/2288633.html上查找,下面以3.7为例,简单介绍:


wget http://www.valgrind.org/downloads/valgrind-3.7.0.tar.bz2

tar xjf valgrind-3.7.0.tar.bz2

./configure --prefix=~

make && make install

关于使用:

网上有一篇大牛的文章,说的非常细致,这里做一个引用:http://www.ibm.com/developerworks/cn/linux/l-cn-valgrind/

核心内容均来自于此,这里要说的只是个人觉得重要的部分。

  1. 使用未初始化的变量
  2. 读写内存越界
  3. 内存覆盖

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装使用Valgrind,您可以按照以下步骤进行操作: 1. 安装Valgrind:在大多数Linux发行版中,您可以使用包管理器来安装Valgrind。以下是几个常见的包管理器命令示例: - Ubuntu/Debian:`sudo apt-get install valgrind` - Fedora/RHEL:`sudo dnf install valgrind` - CentOS:`sudo yum install valgrind` 如果您使用的是其他Linux发行版,请使用相应的包管理器进行安装。 2. 编译您的程序:在使用Valgrind之前,您需要编译您的程序,并确保在编译时启用调试符号。可以使用以下编译标志: - GCC:`-g` - Clang:`-g` - Visual Studio:`/Zi` 请确保在编译时启用调试符号以便Valgrind能够提供更详细的调试信息。 3. 运行Valgrind:一旦您的程序编译完毕,您可以使用以下命令运行Valgrind: ``` valgrind [valgrind选项] 您的程序 ``` Valgrind的选项非常丰富,可以根据您的需求进行配置。以下是一些常用的选项: - `--leak-check=<yes|no>`:检查内存泄漏,默认为`yes`。 - `--tool=<toolname>`:指定要使用工具,如`memcheck`(默认工具,用于检查内存错误)、`helgrind`(用于检查多线程同步错误)等。 - `--track-origins=<yes|no>`:跟踪未初始化变量的来源,默认为`no`。 您可以通过运行`valgrind --help`命令来获取完整的选项列表和说明。 4. 解析Valgrind的输出:Valgrind将在程序运行时捕获内存错误和泄漏,并将其输出到终端。您需要解析输出以了解问题所在。常见的问题包括内存泄漏、使用未初始化变量、访问已释放内存等。 这些是使用Valgrind进行安装使用的基本步骤。Valgrind是一个功能强大的工具,可以帮助您调试和优化您的程序的内存使用。您可以参考Valgrind的官方文档以获取更多详细信息和示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值