Chinaunix首页 | 论坛 | 博客
  • 博客访问: 456016
  • 博文数量: 89
  • 博客积分: 1126
  • 博客等级: 少尉
  • 技术积分: 1432
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-11 23:37
文章分类

全部博文(89)

文章存档

2016年(6)

2015年(2)

2014年(1)

2013年(3)

2012年(23)

2011年(54)

分类: C/C++

2011-04-12 13:02:25

MEMWATCH 调试动态库3 (2011-02-24 10:33:08)[编辑][删除]

    下边是一个调试动态库的例子:开发环境是ARM平台上,使用NFS文件系统调试

一。在Makefile里加入MEMWATCH选项:

cat Makefile:

    36 CFLAGS += -DMEMWATCH -DMEMWATCH_STDIO
    37 
    56 SRC += dummyplayer.c swmedia.c swmediaref.c swmediamonitor.c memwatch.c

 

二。由于每个 .c中都要加入memwatch.h 这样做工作量太大。在通用的.h中包含进去。我使用的是 stdafx.h 如下所示:

# svn st
?       memwatch.h
?       tags
?       swmedia/tags
M       stdafx.h
# svn diff stdafx.h
Index: stdafx.h
===================================================================
--- stdafx.h (版本 1386)
+++ stdafx.h (工作副本)
@@ -6,6 +6,7 @@
 #include
 #include
 #include
+#include
 #include
 #include
 #include

需要注意的是:memwatch.h 要在string.h 后边,这样避免编译错误。详情看MEMWATCH 调试动态库1.

三。

make;然后make copy

creating dll "/root/Taishan/swapi/libs/hi3560e/libswmedia.so "
... done

cp /root/Taishan/swapi/libs/hi3560e/libswmedia.so  /nfs/hi3560eb/rootfs/usr/local/lib -f
四.

在串口跑APP,APP正常推出 会在当前目录下产生memwatch.log.内容如下:

# cat memwatch.log  -n
     1 
     2 ============= MEMWATCH 2.71 Copyright (C) 1992-1999 Johan Lindh =============
     3 
     4 Started at Thu Jan  1 00:09:51 1970
     5 
     6 Modes: __STDC__ 32-bit mwDWORD==(unsigned long)
     7 mwROUNDALLOC==4 sizeof(mwData)==32 mwDataSize==32
     8 
     9 
    10 Stopped at Thu Jan  1 00:23:32 1970
    11 
    12 
    13 Memory usage statistics (global):
    14  N)umber of allocations made: 4
    15  L)argest memory usage      : 156
    16  T)otal of all alloc() calls: 156
    17  U)nfreed bytes totals      : 0
没有内存错误。

 

 

阅读(874) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~