内存调试与实时Linux入门
1. 内存调试工具
在软件开发过程中,内存调试是确保程序稳定性和性能的重要环节。下面介绍两款常用的内存调试工具:DUMA和MEMWATCH。
1.1 DUMA
DUMA是一款功能强大的内存调试工具,其软件包可从 http://duma.sourceforge.com 获取。它比Electric Fence功能更强大,但使用起来也更复杂。
操作步骤如下:
1. 实验发现,将软件包移动到与目标板共享的构建分区会更简单。
2. 使用本地的gcc、g++和ar在目标板上构建该软件包。
3. 如果将NFS分区导出到目标板,构建DUMA并不困难,且耗时不长。
需要注意的是,“使用本地工具构建”往往比花费大量时间研究Makefile或交叉编译的问题更有效。DUMA的操作方式与Electric Fence类似,并且有自己的文档可供参考。
1.2 MEMWATCH
MEMWATCH同样用于内存调试,它会替换常规的内存分配函数(如malloc()和free()),以跟踪内存的分配和释放情况。
特点 :
- 能有效检测内存泄漏和违规操作,例如忘记释放内存区域或多次释放同一内存区域。
- 但在检测指针错误方面不如Electric Fence高效,例如无法检测到某些错误的数组写入操作。
使用步骤 :
超级会员免费看
订阅专栏 解锁全文
22万+

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



