一、概述

Memcheck是一个内存错误检测器。它可以检测C和C ++程序中常见的以下问题:
1、非法内存:如越界、释放后继续访问;
2、使用未初始化的值;
3、释放内存错误:如double-free(同一内存上执行了两次free)、或者 malloc、new、new[] 与 free、delete、delete[]错配使用
4、memcpy函数(或其它相关函数)中src和dst指针重叠;
5、分配函数时,传递的size参数非法,如果是一个负数;
6、内存泄漏。

像这样的问题很难通过其他方式找到,经常长时间未被发现,然后造成偶然的,难以诊断的崩溃。

二、Memcheck中错误消息的含义详解

1、Invalid read of size 4

含义:非法读取或写入错误。
例子,main.c源码如下

#include <stdio.h>
#

【linux】Valgrind工具集详解(七):Memcheck(内存错误检测器)相关推荐

  1. 【linux】Valgrind工具集详解(八):Memcheck命令行参数详解

    [linux]Valgrind工具集详解(五):命令行详解中不够全,在此专门针对Memcheck工具中的命令行参数做一次详细的解释. Memcheck命令行选项 –leak-check=<no| ...

  2. 【linux】Valgrind工具集详解(五):命令行详解

    一.使用方法 usage: valgrind [options] prog-and-args 使用方法:valgrind [参数选项] 程序和参数 二.选择工具 tool-selection opti ...

  3. 【linux】Valgrind工具集详解(一):简介

    一.Valgrind概述 Valgrind是用于构建动态分析工具的仪器框架.它附带了一组工具,每个工具都执行某种调试,分析或类似任务,可帮助您改进程序.Valgrind的架构采用模块化设计,因此可以轻 ...

  4. 【linux】Valgrind工具集详解(二):入门

    一.使用valgrind 1.安装 安装超级简单: sudo apt-get install valgrind 2.使用 运行valgrind -h可以查看详细使用方法,命令格式如下: valgrin ...

  5. 【linux】Valgrind工具集详解(十三):Helgrind(线程错误检测器)

    一.概述 Helgrind用于检测C.C ++和Fortran程序中使用符合POSIX标准的线程函数造成的同步错误. POSIX中关于线程的主要抽象描述有:共享公共地址空间的一组线程.线程创建.线程连 ...

  6. 【linux】Valgrind工具集详解(九):Memcheck检查的内容和方法

    一.值的有效性 1.什么是值的有效性? 英文原文是Valid-value (V) bits,直译过来就是有效值(V)位. 我将它理解为值的有效性,就是判断在内存或CPU的物理地址中存储的数据是否有效, ...

  7. 【linux】Valgrind工具集详解(十):SGCheck(检查栈和全局数组溢出)

    一.概述 SGCheck是一种用于检查栈中和全局数组溢出的工具.它的工作原理是使用一种启发式方法,该方法源于对可能的堆栈形式和全局数组访问的观察. 栈中的数据:例如函数内声明数组int a[10],而 ...

  8. 【linux】Valgrind工具集详解(六):使用Valgrind gdbserver和GDB调试程序

    一.概述 在Valgrind下运行的程序不是由CPU直接执行的.相反,它运行在Valgrind提供的合成CPU上.这就是调试器在Valgrind上运行时无法调试程序的原因. 二.快速入门 在使用Mem ...

  9. 【linux】Valgrind工具集详解(四):抑制错误

    一.什么是抑制错误 错误检查工具可以检测系统库中的许多问题,例如C库,它是随操作系统预安装的.这些错误无法修复,并且有很多,但不希望看到这些错误.如何屏蔽这样错误就叫做"抑制错误" ...

最新文章

  1. R语言使用for循环绘制多个模型的DCA(Decision Curve Analysis)曲线并保存特定分辨率的DCA曲线的结果文件
  2. Android 中文 API (90) —— WindowManager
  3. 使用栈Stack实现队列Queue
  4. HashMap HashTable ConcurrentHashMap
  5. Eclipse New菜单中没有Android Project选项
  6. 58页PPT揭示图神经网络研究最新进展
  7. 【Docker】Segmentation Fault or Critical Error encountered. Dumping core and abort
  8. 云图说|分布式事务管理DTM:“买买买”背后的小帮手
  9. java多线程常用方法_Java多线程入门中几个常用的方法
  10. java安卓版_Java虚拟机安卓版下载
  11. 超简单的Oracle 数据库安装教程(Oracle安装包)
  12. 系统软件版本变更规范
  13. 计算机网络安全及防火墙技术任务书,《毕业设计(论文)-计算机网络安全技术分析》.doc...
  14. WPF开发之dll文件创建与调用
  15. db服务器在游戏服务器组中的作用
  16. CentOS7 安装ClamAV 进行病毒扫描查杀
  17. UI自动化 | 痛彻心扉的脚本维护之路
  18. [龙讯8号]龙芯产品再开新花
  19. WordPress爱导航主题 1.1.3 简约大气网站导航源码网址导航源码
  20. 文件服务器如何预防勒索病毒,勒索病毒来袭,服务器应该如何预防?

热门文章

  1. python 爬取svg数据_python处理svg数据
  2. chrome java插件_selenium启动Chrome配置参数问题
  3. linux rpm找不到命令_Linux安装软件
  4. CUDA硬件架构知识
  5. 在ubuntu 14.04 64bit下配置安装PyQt4(python2.7和python3.4)
  6. 一条命令下载google壁纸,含错误解决方法
  7. 虚幻引擎5(UE5)实时VFX游戏特效制作入门到精通
  8. 在Blender中创建真实的汽车CGI视觉动画效果
  9. apt Could not get lock /var/lib/dpkg/lock 解决方案
  10. 面试前赶紧看了5道Python Web面试题,Python面试题No17