MemPro 是一个C++ 内存分析器。MemPro 在 Windows 平台上运行,但可以连接到几乎任何平台上的应用程序并对其进行分析。MemPro 因其处理超大型数据集的能力而在其他 C++ 内存分析器中脱颖而出。
在几分钟内将 MemPro 集成到您的代码库中 - 只需将 MemPro.cpp/h 添加到您的代码中,您就可以使用 MemPro 连接到您的应用程序。连接后,MemPro 允许您以多种不同方式可视化您的内存使用情况。
MemPro 可以处理海量数据集。数万亿分配的概况并不少见。MemPro 也非常适合分析实时应用程序,例如游戏,因为它的开销最小。因为所有的处理都是离线的,所以 MemPro 可以每秒跟踪数千个分配,而不会出现明显的减速。
特征
MemPro 提供两个宏:MEMPRO_TRACK_ALLOC(p, size) 和 MEMPRO_TRACK_FREE(p)。为了便于使用,MemPro 会自动覆盖全局 new 和 delete 运算符并添加这些宏,但如果您有自己的分配例程,则可以根据需要自己添加宏。MemPro 记录每次分配的调用堆栈,所有数据都通过网络发送到 MemPro。
MemPro 离线处理数据。跟踪所有当前的实时分配。当找到匹配的空闲时,分配被删除。MemPro 还存储所有分配和释放的完整历史记录,允许追溯快照和内存回滚。
所有的符号查找都由 MemPro 完成,这将您的应用程序的开销降至最低。MemPro 将读取应用程序的符号文件并显示调用堆栈。
在 MemPro 中查看数据的主要方式是在特定时间点拍摄快照。这向您显示了当时所有的分配。您可以通过多种方式查看数据,例如调用树视图和类型视图。
要查找内存泄漏或内存峰值,您可以从另一个快照中减去一个快照。这将向您显示第二个快照中但第一个快照中没有的所有分配。
MemPro 具有专门用于跟踪内存泄漏的强大功能。它可以分析应用程序内存的全部内容,并找到未被任何代码或数据引用的任何分配。它还使用一组复杂的启发式方法来分析每个调用堆栈的分配模式,以检查可能的泄漏。
MemPro 对于跟踪内存损坏错误特别有价值。MemPro 可以向您显示在特定地址范围内发生的所有分配和释放的全部历史记录。这通常是找到损坏原因的足够信息。
MemPro 集成速度快,开销低,非常适合分析游戏等实时应用程序。使用 MemPro,您可以轻松查看内存的去向,您可以在几分钟内追踪泄漏和峰值,并找到那些难以追踪的内存损坏错误。