zoukankan      html  css  js  c++  java
  • memwatch检测内存泄露

    简介:
    memwatch简单易用,能检测未被释放的内存,释放多次的内存。


    安装:
    ① 下载
     http://www.linkdata.se/sourcecode/memwatch/
    ② 解压
     找出 memwatch.c、memwatch.h即可。


    使用:
    ① 编译时,需追加MEMWATCH(使用memwacth,详见memwatch.h)、MW_STDIO(在控制台输出提示)宏值


    实例:
    ① 手顺
    gcc -DMEMWATCH -DMW_STDIO test.c memwatch.c -o test
    ./test

    ② 代码

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include <errno.h>
     4 #ifdef MEMWATCH
     5 #include "memwatch.h"
     6 #endif 
     7 
     8 void hello()
     9 {
    10  char *hello;
    11  if ((hello = (char *) malloc(sizeof(char))) == NULL) {
    12      perror("Cannot allocate memory.");
    13      return;
    14  }
    15 }
    16 
    17 int main()
    18 {
    19  hello();
    20  return 0;
    21 }

     ③ 解析结果
    ============= MEMWATCH 2.71 Copyright (C) 1992-1999 Johan Lindh =============

    Started at Wed Sep  4 16:21:26 2013

    Modes: __STDC__ 64-bit mwDWORD==(unsigned long)
    mwROUNDALLOC==8 sizeof(mwData)==32 mwDataSize==32


    Stopped at Wed Sep  4 16:21:26 2013

    unfreed: <1> test.c(12), 1 bytes at 0x9dcb1f0   {FE .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .}

    Memory usage statistics (global):
     N)umber of allocations made: 1
     L)argest memory usage      : 1
     T)otal of all alloc() calls: 1
     U)nfreed bytes totals      : 1

  • 相关阅读:
    Maven 基础
    Apache 免重启 刷新jsp
    【FeignClient证书】 忽略证书验证
    【转】MAC 配置ssh免密登录
    一次神奇的JVM调优
    Js 监听器
    Js 使用Map
    [leetcode]两数之和
    nginx在普通用户下的部署和安装
    oracle11G的linux下的离线安装教程
  • 原文地址:https://www.cnblogs.com/renhl/p/3302468.html
Copyright © 2011-2022 走看看