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

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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值