1,使用valgrind工具

valgrind使用介绍

valgrind官网

如果要使用图形化的界面,要安装QT,工具名字是valkyrie

   通过top命令,/proc/meminfo看总内存,看每个进程使用的内存
   在 Linux 平台可以用 ps 命令,来监视内存的使用,比如下面的命令 (观测指定进程的VSZ值):ps -aux  VSZ  该进程使用掉的虚拟内存量(KB)
   ps命令:点击打开链接

C++内存泄露调试方法~

 

 

常见内存错误的类型
代码段,是只读数据,如果试图对这一区域进行写,那么会发生内存错误
数据段/BSS段:未初始化直接访问,即使没有初始化,任然会初始化为0
栈空间数据:
局部变量,未初始化的时候值是随机的。
栈溢出:在栈中申请过大的局部变量
堆空间数据:
内存泄露:(1)申请为释放 (2)申请后双重释放
对于所有的地址空间
(1)野指针,去访问未初始化指针所指向的数据
(2)对数据等越界访问
(3)非法越权访问,如试图对mmap()的只读空间去写
(4)去访问不在控制范围内的地址空间

 

2,Linux 内核内存检测工具

http://www.ibm.com/developerworks/cn/linux/l-cn-kmemcheck/

posted on 2015-01-18 19:47  知了112  阅读(459)  评论(0编辑  收藏  举报