将malloc()调用转换为C中的外部库调用

时间:2012-12-17 15:46:25

标签: c memory-leaks

我正在为运行时内存问题调试编写一个开源工具:

https://github.com/sandeepsinghmails/S_malloc

当前版本要求用户更改malloc()free()的包装函数,并从我的库中调用另外两个函数。

我想修改此代码,以便用户的malloc()free()调用自动映射到我自己的实现。用户无需修改他的源代码(Valgrind提供的内容)。

有人可以指导我吗?

1 个答案:

答案 0 :(得分:3)

看看malloc_hooks:

http://man7.org/linux/man-pages/man3/malloc_hook.3.html

GNU C库允许你修改malloc(3),realloc(3)的行为,        和free(3)通过指定适当的钩子函数。你可以使用这些        钩子,以帮助您调试使用动态内存分配的程序,为        示例