博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux Valgrind命令
阅读量:4970 次
发布时间:2019-06-12

本文共 953 字,大约阅读时间需要 3 分钟。

一、简介

C/C++程序,最常见的错误之一就是内存泄露。Valgrind 是一款 Linux下的内存调试工具,它可以对编译后的二进制程序进行内存使用监测找出内存泄漏问题。

 

Valgrind通常包括如下几个工具:

Memcheck:用于检测内存错误。它帮助c和c++的程序更正确。Cachegrind:用于分析cache和分支预测。它帮助程序执行得更快。Callgrind:用于函数调用的分析。Helgrind:用于分析多线程。DRD:也用于分析多线程。与Helgrind类似,但是用不同的分析技术,所以可以检测不同的问题。Massif:用于分析堆。它帮助程序精简内存的使用。SGcheck:检测栈和全局数组溢出的实验性工具,它和Memcheck互补使用。

Valgrind 中包含的 Memcheck 工具可以检查以下的程序错误:

1)使用未初始化的内存 (Use of uninitialised memory)2)使用已经释放了的内存 (Reading/writing memory after it has been free’d)3)使用超过malloc分配的内存空间(Reading/writing off the end of malloc’d blocks)4)对堆栈的非法访问 (Reading/writing inappropriate areas on the stack)5)申请的空间是否有释放 (Memory leaks – where pointers to malloc’d blocks are lost forever)6)malloc/free/new/delete申请和释放内存的匹配(Mismatched use of malloc/new/new [] vs free/delete/delete [])7)src和dst的重叠(Overlapping src and dst pointers in memcpy() and related functions)8)重复free

提示:Valgrind不检查静态分配数组的使用情况。

二、安装

 

 

三、使用

 

转载于:https://www.cnblogs.com/274914765qq/p/4797706.html

你可能感兴趣的文章
模块和包
查看>>
Spring+SpringMvc+Mybatis 框架的搭建(二)
查看>>
Pre-defined Keyboard Shortcuts (zz.IS2120@BG57IV3.T717662197)
查看>>
路由器与交换机的区别与联系
查看>>
hdu 1787 GCD Again
查看>>
Linux内核升级
查看>>
西交利物浦大学Java PAPER CODE: CSE105/12-13/S1/Resit Coursework
查看>>
简单的排序算法入门学习
查看>>
linux curl命令
查看>>
每日scrum(五)
查看>>
数据库——MySQL——存储引擎
查看>>
BZOJ4435 : [Cerc2015]Juice Junctions
查看>>
echarts实现中国地图数据展示
查看>>
2、Spring Boot 2.x 快速入门
查看>>
axios设置application/x-www-form-urlencoded
查看>>
NetworkManager——Linux强大的网络管理工具
查看>>
两天快速开发一个自己的微信小程序
查看>>
基于百度地图api + AngularJS 的入门地图
查看>>
jQuery Mobile的默认配置项具体解释,jQuery Mobile的中文配置api,jQuery Mobile的配置说明,配置大全...
查看>>
JAVA NIO 简介
查看>>