2

我遇到过这篇文章: http: //keramida.wordpress.com/2008/10/15/extracting-useful-info-from-freebsd-malloc-tracing/

好像文章中引用的那个脚本已经过时了,第一条评论的链接是404。

Valgrind 似乎没有在 FreeBSD 上为我工作,因为一些系统调用和我自己实现它们的错误,我没有兴趣这样做。

有没有像这个脚本所说的那样可以跟踪 malloc/free 的东西?

谢谢

4

3 回答 3

1

devel/valgrind端口最近已升级,现在可以满足您的需求。

但是 FreeBSD 的 malloc 实现(也称为 phk-malloc)也有一些内置功能。阅读malloc(3)手册页了解详细信息——“TUNING”部分也包含对开发人员有用的信息。

于 2013-10-30T18:53:14.600 回答
0

在 Linux 上,您可以在程序中启用mtrace,但这是代码更改。

在 OpenBSD 上,您可以尝试 malloc 统计信息。

Google 的泄漏检查器可能也值得一看,并且与 mtrace 不同,您可以使用 LD_PRELOAD 来避免重新编译。

于 2013-01-04T16:30:18.803 回答
0

您可以尝试使用devel/ElectricFence端口检测(链接)您的代码。只要您的代码不分配大量的小块,这应该可以帮助您找到过去分配的内存的访问。如果您只是检查泄漏,ElectricFence 可能不是您想要的。

于 2013-01-04T18:28:27.213 回答