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