嵌入式系统中的内存调试与实时Linux入门
1. 内存调试工具
在嵌入式系统开发中,内存调试是一项至关重要的工作。下面将介绍两款内存调试工具:DUMA和MEMWATCH。
1.1 DUMA
DUMA包可从 http://duma.sourceforge.com 获取。它比Electric Fence功能更强大,但也更复杂。经过实验发现,将该包移至与目标板共享的构建分区,然后使用本地的gcc、g++和ar在目标板上构建会更简单。如果将NFS分区导出到目标板,构建DUMA并不困难,而且所需时间不长。
操作步骤如下:
1. 将DUMA包移至与目标板共享的构建分区。
2. 使用本地的gcc、g++和ar在目标板上进行构建。
DUMA的操作方式与Electric Fence类似,并且有自己的文档可供参考。
1.2 MEMWATCH
MEMWATCH和Electric Fence、DUMA一样,会替换常用的内存分配函数(如malloc()和free()),以跟踪内存的分配和释放。它在检测内存泄漏和违规方面非常有效,例如忘记释放内存区域或多次释放同一内存区域。不过,在检测指针错误方面,它不如Electric Fence高效。
使用步骤如下:
1. 从 http://www.linkdata.se/sourcecode.html <