内存调试、硬件工具与实时 Linux 系统入门指南
在软件开发过程中,内存调试、硬件工具的选择以及实时系统的应用都是至关重要的环节。下面我们将详细介绍相关的工具和概念。
1. 内存调试工具
1.1 DUMA
DUMA 是一个功能强大的内存调试工具,其软件包可从 http://duma.sourceforge.com 下载。相较于 Electric Fence,DUMA 功能更为强大,但使用起来也更为复杂。
经过实践发现,将 DUMA 软件包移动到与目标板共享的构建分区,然后使用本地的 gcc、g++ 和 ar 在目标板上进行构建会更加简便。如果向目标板导出一个 NFS 分区,构建 DUMA 并不困难,且耗时不长。通常,“采用本地构建”往往是更好的解决方案,而不是花费大量时间去研究为什么 Makefile 或交叉编译的某些特性无法生成可从主机移植到目标板的二进制文件。DUMA 的操作方式与 Electric Fence 类似,并且有其自身的文档可供参考。
1.2 MEMWATCH
MEMWATCH 与 Electric Fence 和 DUMA 一样,会替换常见的内存分配函数(如 malloc() 和 free()),以跟踪内存的分配和释放情况。它在检测内存泄漏和违规操作方面非常有效,例如忘记释放内存区域或多次释放同一内存区域等情况。不过,在检测指针错误方面,MEMWATCH 的效率不如 Electric Fence,例如它无法检测到之前章节中提到的有缺陷的数组写入操作。
-
<
超级会员免费看
订阅专栏 解锁全文
1065

被折叠的 条评论
为什么被折叠?



