0

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

https://github.com/sandeepsinghmails/S_malloc

当前版本要求用户更改他/她的包装函数,malloc()free()从我的库中调用两个附加函数。

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

有人可以指导我吗?

4

1 回答 1

3

看一下malloc_hooks:

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

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

于 2012-12-17T15:55:41.680 回答