在我们公司,我们有一个类似于glibc中的mtrace (MALLOC_TRACE)function的内部框架来检测内存泄漏。 这个框架是为了在Windows上运行而编写的,但在GNU / Linux中并不能很好地运行。
那么,有没有人知道可以运行在Windows,GNU / Linux,甚至是MacOSX上的mtrace(MALLOC_TRACE)。
几个月前,我开发了一个便携式C库的基础,允许某种OOP。
内存使用引用计数进行管理,该项目包含一个内存调试程序,用于跟踪所有分配情况,并在必要时提供扩展调试信息。
它在BOOST许可下发布,所以你可以自由使用它。
https://github.com/macmade/XSFoundation/
当前修订版本实际上处于不可行的状态,但您可以检查旧版本,看看它是如何完成的。
标签中有一个工作版本( 1.2.2-0 )。 这个版本在OSX,Windows和Linux上都很好。
内存的东西主要位于source/core
目录下:
以下是SegmentationFault的输出,例如:
然后,您可以获取回溯信息,显示分配等。