码迷,mamicode.com
首页 > 其他好文 > 详细

[Debug]内存问题的一些调试方法

时间:2015-01-18 21:03:21      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

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/

[Debug]内存问题的一些调试方法

标签:

原文地址:http://www.cnblogs.com/zhiliao112/p/4232171.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!