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

标签 c memory-leaks

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

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) 通过指定适当的钩子(Hook)函数。你可以使用这些 钩子(Hook)来帮助你调试使用动态内存分配的程序,例如 示例。

关于将 malloc() 调用转换为 C 中的外部库调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13917339/

相关文章:

memory-leaks - Golang程序内存泄漏?

ios - 带有音频 AVAssetWriterInput "leaks"内存的 appendSampleBuffer 直到 endSessionAtSourceTime

c - connect() 后的 UDP 发送行为

c - 从 <stdlib.h> 将参数传递给 qsort() 函数

c - 如何解锁wgetch?

c - 用gradle构建c程序

objective-c - 如何缩短逻辑或中的多重相等性检查?

c++ - QWebSocketServer - 不释放内存

c++ - 打开简历。从网络摄像头的实时馈送中复制或裁剪图像,没有内存泄漏

node.js 脚本和可能的内存泄漏