用户空间工具:
- 内存工具:MEMWATCH 和 YAMD
- strace
- GNU 调试器(gdb)
- 魔术键控顺序
C 语言作为 Linux 系统上标准的编程语言给予了我们对动态内存分配很大的控制权。然而,这种自由可能会导致严重的内存管理问题,而这些问题可能导致程序崩溃或随时间的推移导致性能降级。
内存泄漏(即 malloc()
内存在对应的 free()
MEMWATCH 由 Johan Lindh 编写,是一个开放源代码 C 语言内存错误检测工具,您可以自己下载它(请参阅本文后面部分的参考资料)。只要在代码中添加一个头文件并在 gcc 语句中定义了 MEMWATCH 之后,您就可以跟踪程序中的内存泄漏和错误了。MEMWATCH 支持 ANSI C,它提供结果日志纪录,能检测双重释放(double-free)、错误释放(erroneous free)、没有释放的内存(unfreed memory)、溢出和下溢等等。
- 您可以参阅本文在 developerWorks 全球站点上的 英文原文.
- 下载 MEMWATCH。
- 请查看 Dynamic Probes 调试功能程序。
- 请阅读文章“ Linux software debugging with GDB”。( developerWorks,2001 年 2 月)
- 请访问 IBM Linux Technology Center。
- 在 developerWorksLinux 专区可以找到 更多的 Linux 文章。
原文地址:http://www-128.ibm.com/developerworks/cn/linux/sdk/l-debug/index.html