2

在我们公司,我们有一个类似于 glibc 中的mtrace (MALLOC_TRACE) 功能的内部框架,用于检测内存泄漏。该框架是为在 Windows 上运行而编写的,但在 GNU/Linux 中运行不佳。

那么,有谁知道可以在 Windows、GNU/Linux 甚至 MacOSX 上运行的可移植的 mtrace (MALLOC_TRACE) 等价物?

4

2 回答 2

2

你试过dmalloc吗?

http://dmalloc.com/

也许我认为在 linux valgrind 上要好得多

于 2011-11-30T14:16:25.880 回答
1

几个月前,我开发了一个可移植 C 库的基础,允许某种 OOP。

内存通过引用计数进行管理,并且该项目包括一个内存调试器,用于跟踪所有分配,并在必要时提供扩展的调试信息。

它是在 BOOST 许可下发布的,因此您可以自由使用它。

https://github.com/macmade/XSFoundation/

当前版本实际上处于无法使用的状态,但您可以检查旧版本,看看它是如何完成的。

标签中提供了工作版本(1.2.2-0)。这个在 OSX、Windows 和 Linux 上构建良好。

内存的东西主要位于source/core目录中:

例如,以下是 SegmentationFault 的输出类型:

在此处输入图像描述

然后,您可以获得回溯信息、显示分配等。

于 2011-11-30T14:17:07.870 回答