Discover 可以跟踪标准编程语言机制(例如 malloc()、calloc()、free()、operator new() 和 operator delete())分配的堆内存。
如果应用程序使用在标准函数顶层工作的自定义内存管理系统(例如,使用 malloc() 实现的池分配管理),则 Discover 仍会运行,但不能保证正确报告泄漏或对已释放内存的访问。
Discover 不支持下列内存分配器:
直接使用 brk(2)() 或 sbrk(2)() 系统调用的自定义堆分配器
静态链接到二进制文件中的标准堆管理函数
使用 mmap(2)() 和 shmget(2)() 系统调用从用户代码中分配的内存
不支持 sigaltstack(2)() 函数。