malloc 调用跟踪浅谈
来源:互联网 发布:机锋市场淘宝店 编辑:程序博客网 时间:2024/05/16 13:05
之前转载了一篇文章,关于memory leak的检出。
http://blog.csdn.net/robertsong2004/article/details/52496184
这里面使用的方法需要去修改源代码,这是最大的问题。
不修改源代码的方式,可以是实现一个库,这个库里实现了 malloc / free 的 wrapper,在 malloc / free 里对分配的信息
进行统计后,再去调用 libc 里的真正的实现。
参考:
#define _GNU_SOURCE#include <dlfcn.h>#include <stdio.h>static void *(*lt_malloc) (size_t size);__attribute__ ((constructor))static void init_mem_func (void) {lt_malloc = (void *(*)(size_t))dlsym(RTLD_NEXT, "malloc");}void *malloc(size_t size){void *ptr;ptr = lt_malloc(size);printf("malloc size(%d) at (%p)\n", size, ptr);return ptr;}
gcc -o libmalloc.so malloc.c -ldl -fPIC -shared
测试示例:
LD_PRELOAD=./libmalloc.so /tmp/test
malloc size(1) at (0x7d2010)
malloc size(2) at (0x7d2010)
malloc size(3) at (0x7d2010)
malloc size(4) at (0x7d2010)
malloc size(5) at (0x7d2030)
0 0
- malloc 调用跟踪浅谈
- 浅谈malloc
- 浅谈malloc()与free()
- 浅谈session会话跟踪
- 浅谈STC跟踪算法
- 浅谈用户会话跟踪
- 目标跟踪 浅谈
- 浅谈任务跟踪工具
- 浅谈malloc与free - ZZ
- malloc 和 free函数浅谈
- malloc()函数调用失败
- 跟踪 API 调用--OllyDbg
- 函数调用跟踪
- Android调用堆栈跟踪
- Android 调用堆栈跟踪
- 栈调用关系跟踪
- 跟踪Android调用堆栈
- strace跟踪系统调用
- iText实现html转pdf
- CRON备份新浪云Mysql
- 第四讲 项目一 点阵图打印名字(一个超级简单的程序)
- nginx安装后可能出现的问题
- 决策树分类算法-ID3算法原理
- malloc 调用跟踪浅谈
- 第一天
- 【华为OJ】删除字符串中出现次数最少的字符
- 除法问题
- Android中.9图片的含义及制作教程
- 点击tr选中每一行前面的checkbox
- Unity常用的函数和遇到的C#的知识整理
- 7.6 I POJ 3185 The Water Bowls
- 解决wordpress页面加载慢的问题