C++产品开发,上线集成时,都需要内存泄露、覆盖率等检测,这些在Windows下都有很好的工具,如

Visual Studio: 这个内置了很多的工具

Devpartner: VC6时BoundChecker非常棒,Devpartner集成了很多的功能集合 http://www.borland.com/products/devpartner/default.aspx

Insure++: http://www.parasoft.com/jsp/products/insure.jsp?itemId=63

而在Linux环境下,选择少了很多,下面把eclipse中的工具使用说明一下,好费劲。

环境

Ubuntu 10 64位

Eclipse Juno

具体步骤

1、Eclipse CDT【http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplerr】安装好后,linux tools 【http://www.eclipse.org/linuxtools/index.php】 内置集成了很多的工具

不过启动后一用,报错

java.lang.NullPointerException
at org.eclipse.linuxtools.internal.valgrind.core.ValgrindCommand.readIntoBuffer(ValgrindCommand.java:82)

google一下,这个问题还出现过,但没有解答,不知道如何解决

2、既然如此,直接使用吧, 进入 http://valgrind.org/ 下载安装

按照docs目录下的文档,测试一个程序后,出现,错误提示

valgrind:
valgrind: On Debian, Ubuntu: libc6-dbg
valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo

http://askubuntu.com/questions/148236/valgrind-does-debug-error  中给出了方法

执行sudo apt-get install libc6-dbg, 提示 E: 无法安装的软件包 错误
咋办,找到如下的快捷解决方法
sudo apt-get update; sudo aptitude install libc6-dbg
ubuntu关于aptitude和apt-get http://blog.csdn.net/yili_xie/article/details/4803314
使用aptitude 解决包冲突的问题,又学了一招

3、使用:以上全部安装好后,终于可以正常使用了

valgrind --leak-check=yes ./aa 检查一个测试程序,终于正常了

此时在进入Eclipse中可以了,具体效果看下图

此时可以直观的看到泄露和提示

另外:Eclipse对于C++还提供了其他的一系列工具,辅助代码的分析等,具体如下:覆盖率等等,这些的使用后续仅需看看

相比Windows下的这些工具,配置和使用起来真是有些麻烦。

Eclipse CDT Linux下内存分析 实战历险的更多相关文章

  1. Eclipse CDT Linux下内存分析 补记

    常用工具汇总 http://www.ibm.com/developerworks/cn/linux/l-cn-memleak/ 常用的内存分析工具 http://en.wikipedia.org/wi ...

  2. 大并发连接的oracle在Linux下内存不足的问题的分析

    大并发连接的oracle在Linux下内存不足的问题的分析 2010-01-28 20:06:21 分类: Oracle 最近一台装有Rhel5.3的40G内存的机器上有一个oracle数据库,数据库 ...

  3. Linux下性能分析工具汇总

    来自:http://os.51cto.com/art/201104/253114.htm 本文讲述的是:CPU性能分析工具.Memory性能分析工具.I/O性能分析工具.Network性能分析工具. ...

  4. Linux下内存查看命令

    在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们 ...

  5. Linux下内存映射文件的用法简介

    由于项目需要,所以学习了一下Linux下内存映射文件的用法,在这里共享一下自己的收获,希望大家提出宝贵意见,进行交流. 简介: 内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区 ...

  6. Linux下内存查看及详解

    在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们 ...

  7. 大并发连接的oracle在Linux下内存不足的问题的分析(转)

    最近一台装有Rhel5.3的40G内存的机器上有一个oracle数据库,数据库的SGA设置为20G,当运行业务时,一个业务高峰期时,发现swap频繁交换,CPU 100%,Load很高,基本体现为内存 ...

  8. linux下内存泄露检测工具Valgrind介绍

    目前在linux开发一个分析实时路况的应用程序,在联合测试中发现程序存在内存泄露的情况. 这下着急了,马上就要上线了,还好发现了一款Valgrind工具,完美的解决了内存泄露的问题. 推荐大家可以使用 ...

  9. Linux下的编程实战【转】

    一篇比较不错的文章, 降到了 makefile make , gcc编译器,GDB调试器, Linux文件系统,Linux文件API,.C语言库函数(C库函数的文件操作实际上是独立于具体的操作系统平台 ...

随机推荐

  1. Java - IDE

    JDK安装及环境变量配置 下载安装对应版本的JDK 控制面板--->系统--->属性--->高级系统设置--->环境变量 新建系统变量JAVA_HOME 变量名:JAVA_HO ...

  2. javascript学习5

    JavaScript Array(数组)对象 数组对象的作用是:使用单独的变量名来存储一系列的值. 实例 创建数组 创建数组,为其赋值,然后输出这些值. For...In 声明 使用 for...in ...

  3. 【Android】Volley做网络请求的几种用法

    前言: 最近在将自己写的烂代码重构,以前使用的网络请求全是基于apache的HttpClient,简单使用还好,使用多了发现重复代码太多,而且每次使用都很繁琐,因此在网上找了半天网络请求的相关类库,最 ...

  4. 新人学习Android开发遇到的小问题总结

    1. IDE搭建: 搭建android的IDE时,先注意是什么版本的系统,64/32位系统. 通常使用的是Eclipse for android,Android Studio由于还需要FQ,网速慢,所 ...

  5. layout_weight详解

    注:LinearLayout中的TextView按比例显示的时候,layout_width="0dp"或者layout_height="0dp" 在androi ...

  6. Java魔法堂:URI、URL(含URL Protocol Handler)和URN

    一.前言 过去一直搞不清什么是URI什么是URL,现在是时候好好弄清楚它们了!本文作为学习笔记,以便日后查询,若有纰漏请大家指正! 二.从URI说起    1. 概念 URI(Uniform Reso ...

  7. AdjustWindowRect与AdjustWindowRectEx

    AdjustWindowRect 根据所需的矩形大小,计算所需的矩形的大小;然后,窗口矩形可以传递给CreateWindow函数创建一个窗口. AdjustWindowRectEx 是AdjustWi ...

  8. 如何Windows分页控件中增加统计功能

    在我的博客里面,很多Winform程序里面都用到了分页处理,这样可以不管是在直接访问数据库的场景还是使用网络方式访问WCF服务获取数据,都能获得较好的效率,因此WInform程序里面的分页控件的使用是 ...

  9. PHP导入excel数据到MYSQL

    这里介绍一个直接将excel文件导入mysql的例子.我花了一晚上的时间测试,无论导入简繁体都不会出现乱码,非常好用.PHP-ExcelReader,下载地址: http://sourceforge. ...

  10. 介绍开源的.net通信框架NetworkComms框架 源码分析(十七 ) ConnectionSendClose

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...