valgrind内存检查

安装

apt-get install valgrind

测试程序

#include <stdio.h>
#include <stdlib.h>

int*Test(void)
{
    int* x = malloc(10 * sizeof(int));
    delete x;// problem 1: heap block overrun, problem 2: memory leak --x not free, only first address

    return x;
}

int main(void)
{
    int count;
    Test();
    printf("i =%d/n", count); //problem 3: use uninitialised value.

    return 0;
}

内存检查命令

valgrind --tool=memcheck ./prog_name

valgrind --tool=memcheck --leak-check=yes ./prog_name
输出内存泄露的申请堆栈

valgrind --db-attach=yes --tool=memcheck ./prog_name
出错后附加gdb

时间: 2024-10-16 22:31:10

valgrind内存检查的相关文章

c++Valgrind内存检测工具---19

原创博文,转载请标明出处--周学伟  http://www.cnblogs.com/zxouxuewei/ 一.Valgrind 概述 Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合.Valgrind由内核(core)以及基于内核的其他调试工具组成.内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具:而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务.Valgrind的体系结构如下图所示

Android 内存检查

Android 内存检查 本文简单介绍了如何使用 DDMS 和 MAT 工具来对 android 进行内存检查,了解 android 内存的具体占用情况. 步骤1. 使用 DDMS 观察内存的使用情况 环境准备:电脑安装了 android sdk,手机端开启了 USB 调试开关, 将手机连接 PC. 可以单独使用 ddms,或者在 android studio中Tools -> Android -> android device monitor, 选择待调试的 device 和进程. 步骤2.

Qt Creator Valgrind内存分析前端(分析Nginx内存)

Linux上使用Qt Creator进行C/C++开发http://my.oschina.net/eechen/blog/166969Qt Creator GDB调试前端(调试Nginx):http://static.oschina.net/uploads/space/2014/0217/025140_OJwD_561214.pngQt Creator Valgrind内存分析前端(分析Nginx内存):http://static.oschina.net/uploads/space/2014/0

内存检查工具Valgrind

官网介绍:http://www.valgrind.org/ Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail. You can

valgrind 代码检查,内存泄漏

使用平台 linux 下载 http://valgrind.org/ 文档 http://valgrind.org/docs/manual/manual.html 博客 https://www.oschina.net/translate/valgrind-memcheck https://blog.csdn.net/justheretobe/article/details/52986461 原文地址:https://www.cnblogs.com/scotth/p/10916466.html

Valgrind 内存泄漏工具

Valgrind 是一款 Linux下(支持 x86.x86_64和ppc32)程序的内存调试工具,它可以对编译后的二进制程序进行内存使用监测(C语言中的malloc和free,以及C++中的new和delete),找出内存泄漏问题. Valgrind 中包含的 Memcheck 工具可以检查以下的程序错误: 使用未初始化的内存 (Use of uninitialised memory) 使用已经释放了的内存 (Reading/writing memory after it has been f

valgrind 内存调试工具

一.valgrind 是运行在linux系统下的内存调试工具,支持很多对象:memcheck.addrcheck.cachegrind.Massif.helgrind.Callgrind等.使用valgrind时,必须指明想用的对象,若是省略对象名,默认运行memcheck.(目前只用到memcheck) 二.memcheck 参数选项说明(常用的一部分): 1.--leak-check=no | summary | full   :对内存泄漏检查强度大小,不检查 | 简易检查 | 全部检查:默

android 内存泄露 /进程 内存检查 --DDMS工具

一.监控操作步骤 1.打开eclipse,切换到DDMS模式,连接设备,打开usb调试,如图: 2.在devices栏中会显示连接的设备,选择要监控的程序包名 3.点击devices视图中update Heap 4.在Heap视图中点击Gause GC, 二.判断内存泄露 Heap视图中部有一个Type叫做data object,即数据对象,也就是我们的程序中大量存在的类类型的对象.在data object一行中有一列是"Total Size",其值就是当前进程中所有Java数据对象的

Linux/Centos cpu与内存检查

1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10个进程 ps auxw|head -1;ps auxw|sort -rn -k4|head -10 3.虚拟内存使用最多的前10个进程 ps auxw|head -1;ps auxw|sort -rn -k5|head -10 如果对此有兴趣,请扫下面二维码免费获取更多详情 原文地址:http://blog.51cto.com/11233498/