内存检测
xl365t
专注于音视频通话、视频会议、即时通信等
展开
-
mtrace的用法---Linux下内存泄漏检测
mtrace是GNU扩展函数,mtrace为内存分配函数(malloc, realloc, memalign, free)安装hook函数。这些hook函数记录内存的申请和释放的trace信息。这些trace信息可以用来发现内存泄漏和释放不是申请的内存。当调用mtrace,mtrace会检查环境变量MALLOC_TRACE。该环境变量应该包含记录trace信息的文件路径。如果文件可以被成功打开,它的大小被截断为0.原创 2017-06-23 14:03:01 · 2226 阅读 · 0 评论 -
如何定位内存泄漏
常见的内存错误:(1)内存分配未成功,却使用了它(2)内存分配成功,但尚未初始化就引用它(3)内存分配成功且初始化,但操作越过了内存的边界(4)忘记释放内存,造成内存泄漏(5)释放了内存却继续使用它以发生的方式来分类:(1)常发性内存泄漏,发生内存泄漏的代码会被多次执行到,每次执行都会导致一块内存泄漏(2)偶发性内存泄漏(3)一次性内存泄漏,发送泄漏的代码只会被执行一次(4)隐式内存泄漏,程序在运...原创 2018-07-15 22:24:00 · 12853 阅读 · 0 评论 -
内存分配算法
内存管理中有一个很重要的概念叫内存碎片,内存碎片分为内部碎片和外部碎片,内部碎片是分配器分配的内存大于程序申请的内存。外部碎片是内存块太小,无法分配给程序使用。1、FreelistFreelist,通过链表,把内存中空闲块连接起来。分配的时候,找到大小合适的block,把它切分成两块,一块是待分配的大小,另一块放回free-list;释放的时候,插入到链表中,并且合并一下前后的...原创 2019-04-17 09:52:39 · 765 阅读 · 0 评论