valgrind官方手册翻译(一)_20151128

Quick Start Guide

快速上手

快速上手列表

1、简介

2、你的程序应当作的准备

3、使用memcheck检测你的程序

4、memcheck输出含义

5、注意事项

6、更多信息

简介

Valgrind系列工具是提供一系列可以使你的程序运行更快更稳定调试、监测工具组。这里面最常用的便是memcheck工具,它能够检测出C和C++程序中的多种致命的内存问题。

下面的使用说明主要是教你快速上手memcheck工具,如何用它来检测你的程序中的内存问题。若想了解memcheck或者其他工具完整的说明文档,请参照用户手册(User Manual)。

你的程序应当作的准备

1、编译程序的时候需要添加-g选项,这样memcheck的报错信息便可以通过调试信息包括具体出错代码的行数。

2、如果你在调试程序时不介意程序的运行速度,那么建议你选择-O0的编译优化选项。如果选择-O1编译优化级别,虽然,memcheck大多数情况下依然是正常工作,报错信息也基本准确,但是错误代码行数有可时会不准确。

3、不推荐使用-O2以上的编译优化级别,memcheck会误报未初始化变量错误。

使用memcheck检测你的程序

若你的程序运行命令如下

myprog arg1 arg2

那么使用如下的格式便可以使用memcheck检查你的程序中的内存问题

valgrind --leak-check=yes myprog arg1 arg2

memcheck是valgrind的默认工具,”–leak-check”选项用于检测内存泄漏。

使用valgrind之后,你的程序运行相较于普通时候会慢20~30倍,并且会占用更多的内存。作为补偿,memcheck工具会详细地打印出它所监测到的内存问题和内存泄漏。

memcheck输出含义

下面的C语言示例程序存在一个内存错误和内存泄漏。

#include <stdlib.h>

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值