dmalloc是用来代替系统中malloc, realloc, calloc,free等等内存管理函数,用来检测内存泄露问题。
1. Dmalloc只检测堆上内存,对栈内存和静态内存无能为力。
2. Dmalloc只用于利用malloc申请的内存,而对使用sbrk()或者mmap()分配的内存无能为力。
3. Dmalloc不能用于检测栈内存、读写没有申请或没有初始化的内存、写只读内存。
因此这样讲使用Dmalloc将增加系统的健壮性、但不能完全检测出所有的内存错误,而那些不能检测出来的错误可以通过覆盖测试和黑盒测试检测出来。
不过从mpatrol的介绍来看,其检测范围大于dmalloc,不过其版本支持比较繁多,在作为嵌入系统的检测工具还是要花费一定的时间。
阅读(5770) | 评论(0) | 转发(0) |