我正在为运行时内存问题调试编写一个开源工具:
https://github.com/sandeepsinghmails/S_malloc
当前版本要求用户更改malloc()
和free()
的包装函数,并从我的库中调用另外两个函数。
我想修改此代码,以便用户的malloc()
和free()
调用自动映射到我自己的实现。用户无需修改他的源代码(Valgrind提供的内容)。
有人可以指导我吗?
答案 0 :(得分:3)
看看malloc_hooks:
http://man7.org/linux/man-pages/man3/malloc_hook.3.html
GNU C库允许你修改malloc(3),realloc(3)的行为, 和free(3)通过指定适当的钩子函数。你可以使用这些 钩子,以帮助您调试使用动态内存分配的程序,为 示例