重写系统函数(内存统计工具,系统资源统计工具)

重写系统函数,可用作内存统计、fd统计等

效果:例如malloc函数,实际调用的是__wrap_malloc,__wrap_malloc中调用真实的分配内存函数__real_malloc,如果调用成功就添加统计信息到数据结构中。

1.编译选项

CFLAGS_miniBP-y +=-funwind-tables
LDFLAGS_miniBP-y += -Wl,-wrap,malloc -Wl,-wrap,calloc -Wl,-wrap,realloc -Wl,-wrap,free
cmd_link_so_target = rm -f $@; $(CC) $(ld_flags) -o $@ -fPIC -shared -Wl,-Bsymbolic $(obj-y) -Wl,-wrap,malloc -Wl,-wrap,calloc -Wl,-wrap,realloc -Wl,-wrap,free

2.真系统函数声明
/* 实际内存申请释放函数申明 */
VOID *__real_malloc(size_t size);
VOID *__real_calloc(size_t nmemb, size_t size);
VOID *__real_realloc(VOID *ptr, size_t size);
VOID __real_free(VOID *ptr);

3.重写系统函数(可通过backtrace函数回溯调用堆栈)

4.代码中调用函数,直接调用malloc即可

5.打印结果,比较结果,就可以看出来内存是否有变化
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值