内存检测工具Valgrind

Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所示:

图 1 Valgrind 体系结构

Valgrind包括如下一些工具:

  1. Memcheck。这是valgrind应用最广泛的工具,一个重量级的内存检查器,能够发现开发中绝大多数内存错误使用情况,比如:使用未初始化的内存,使用已经释放了的内存,内存访问越界等。这也是本文将重点介绍的部分。
  2. Callgrind。它主要用来检查程序中函数调用过程中出现的问题。
  3. Cachegrind。它主要用来检查程序中缓存使用出现的问题。
  4. Helgrind。它主要用来检查多线程程序中出现的竞争问题。
  5. Massif。它主要用来检查程序中堆栈使用中出现的问题。
  6. Extension。可以利用core提供的功能,自己编写特定的内存调试工具。

相关文章:

应用 Valgrind 发现 Linux 程序的内存问题

Valgrind对MonoTouch提供支持

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CSDN技术头条

Tomcat 性能优化

Sun 公司创建了第一个 Servlet 容器,即 Java Web Server,但 JWS 只是为了演示 Servlet 的相应功能,所以其性能很不稳定。与...

15330
来自专栏跟着阿笨一起玩NET

双系统如何正确的使用修复BCD工具分享

安装双系统时候,用于种种原因会导致开机启动只显示一个系统,此时需要修复下BCD即可。

38710
来自专栏程序猿DD

SpringBoot应用部署于外置Tomcat容器

来源:https://my.oschina.net/hansonwang99/blog/1824245

12030
来自专栏机器人网

KUKA机器人配置 Beckhoff I/O模块,绝对干货!

一、硬件 Hardware 二、软件 Software 三、硬件连接 Connection 参照电气图纸将硬件连接。 四、WorkVisual配置 Con...

39530
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装对大数据友好的Apache Accumulo NoSQL数据库

Apache Accumulo是一个基于Google BigTable的开源分布式NoSQL数据库。它用于在极大数据集(通常称为大数据)上有效执行CRUD(创建...

15100
来自专栏Java技术栈

干货 | Tomcat 连接数与线程池详解

在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。

22840
来自专栏Linyb极客之路

springboot打包部署的那些事

springboot-maven-plugin打包的第一级目录为Boot-INF,如果不做任何配置,直接mvn clean package会发现无法把本地的ja...

3.8K20
来自专栏nice_每一天

理解 IntelliJ IDEA 的项目配置和Web部署

IDEA 中最重要的各种设置项,就是这个 Project Structre 了,关乎你的项目运行,缺胳膊少腿都不行。最近公司正好也是用之前自己比较熟悉的IDEA...

16440
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用Gunicorn和Nginx部署Falcon Web应用程序

Falcon是用于构建Web应用程序的最小Python框架。它非常适合构建遵循REST架构风格的API 。它是一个低级别,高性能的框架,可以在不牺牲开发速度的情...

26840
来自专栏WindCoder

tomcat基础小结

bin:可执行文件,包含启动脚本 conf:配置文件 lib:tomcat的依赖库 logs:日志 temp:临时文件 webapp:默认的应用部署目...

10610

扫码关注云+社区

领取腾讯云代金券