Mpatrol是一个库,提供诊断时是由错误地使用动态分配的内存而造成运行时错误功能强大的调试。它作为一个malloc()调试器调试动态内存分配,虽然它也可以跟踪和配置文件调用malloc()和free()了。如果你不知道是什么的malloc()函数或运营商新的[]做那么这个库可能不适合你。你必须有一定的编程技术以及如何运行命令行编译器和连接器之前,你应该尝试使用这个知识。
除了提供一个程序的生命周期中发生的所有动态内存操作的全面的和可配置的日志中,mpatrol图书馆进行广泛的检查,以检测动态分配的内存中的任何滥用。所有这些功能都可以通过包含一个头文件在编译时被集成到现有的代码。在UNIX和Windows平台(和使用GCC时AmigaOS)这甚至可能不是必要的,因为mpatrol库可以与现有目标文件的链接时被链接,或者在某些平台上,甚至与动态运行时现有的方案联系起来。
从mpatrol库中的所有记录和跟踪输出被发送到一个单独的日志文件,以保持其诊断分开任何该程序被测试可能产生。各种各样的库设置也可以在运行时通过环境变量发生变化,因此无需重新编译或重新链接,以改变该库的行为。
可以通过mpatrol库中产生的含有的内存分配分析统计汇总为一个特定的程序文件。此文件可通过一个分析工具,它会显示一组根据积累的数据表来读取。所述分析信息包括所有由大小和分配它们的功能和与所述分配函数的调用栈内存泄漏的列表中列出的内存分配的概要。它也包括一个图形以表格形式列出的所有内存分配的,并且由点图形可视化包的可选图形规范文件供以后处理。
也可以通过在mpatrol文库产生含有所有内存分配以及由程序作出解除分配的简明编码的跟踪文件。此文件然后可以通过一个跟踪工具,这将解码的轨迹和显示在表格或图形形式的事件,并且还显示了可以计算的任何相关的统计数据被读出。
该mpatrol库的设计具有取代调用现有C和C ++内存分配函数尽可能无缝的意图,但在许多情况下,可能无法和轻微修改代码可能需要。但是,提供包含mpatrol库的版本预处理宏的条件编译的目的,这样的发布版本和调试版本可以很容易地实现自动化。
什么是新的的此版本:
- 在增加的更好的日志记录诊断消息
- 新增大大改善的autoconf,automake和libtool的支持。
- 新增临时HTML日志文件的支持与HTML选项。
- 在该图书馆现在检查,以确保有没有书面的分析和跟踪输出文件的任何问题。
- 添加更好的Tru64线程安全的支持。
- 修正了一个问题定位符号的a.out目标文件格式。
- 修正诊断为从Windows DLL的读取符号的数量。
- 修正了计算标志着分配的错误总规模中的错误。
- 的mpatrol命令现在有使用MPATROL_OPTIONS环境变量的现有内容的--read-ENV选项。
- 的mpsym命令现在会自动检测的64位支持,现在有--skip选项。源代码编译现在在正确的BSD系统。
评论没有发现