当前位置: 代码迷 >> C++ >> linux下eclipse c++开发工具系列
  详细解决方案

linux下eclipse c++开发工具系列

热度:6726   发布时间:2013-02-26 00:00:00.0
linux上eclipse c++开发工具系列

在linux下做开发,我一直用的eclipse。期间也配置过vim的IDE,但需要在项目中推广使用,感觉生产力还是稍逊一些。

eclipse的linux tools系列工具使用起来也比较方便,再结合一些常用插件,如svn,能满足大多数日常开发需求。

1.gcov

代码覆盖率测试,可以直观的看出每行代码的执行情况。配置步骤如下:

创建可执行工程-->在工程名上右键-->属性-->setting-->Tool Setting标签-->Debugging

    Debug Level: Maximum(-g3)

    Other debugging flags: -ftest-coverage -fprofile-arcs

(gprof设置也在此标签中:Generate gprof information (-pg)前打勾)

    Tool Setting标签-->GCC C Linker

    Miscellanous

        Linker flags: -ftest_coverage -fprofile-arcs

即在编译和链接过程中分别加入参数: -ftest-coverage和-fprofile-arcs。在链接时不加 -ftest-coverage 参数也可以。

2.gprof

性能测试工具,通过采样的原理,可以看出是哪些代码在使用系统资源。此工具主要针对用户空间的性能的测试,使用前可以用time工具对目标程序进行观察,如果用户空间时间相对很少,则此工具可能对程序的帮助不是很大,可以使用其它工具,如oprofile、systemtap等。

这两个工具,一般系统自带,不需要单独安装,使用方便。grpof和gcov一样,都需要程序运行并正常退出,对可以生成对应的文件。gprof生成文件为:gmon.out,gcov生成文件较多,每个cpp文件一个,包括两种格式。在eclipse中双击这些文件,即可直观的看到相关结果。对于长期运行的程序来说,可以使用特殊信号来使用程序正常退出,如eclipse中停止程序运行使用的是 SIGTERM 信号,建立此信号处理函数,并在其中调用exit()即可。如果不想运行程序,可以使用splint、cppcheck。其中cppcheck有eclipse插件,splint 印象中见过有,但后来找不到了,而且仅对C语言。

3.valgrind

valgrind提供了一系列的工具,其中比较常用的是内存泄露检测工具。eclipse提供了调用接口,valgrind需要单独安装。结果展示也比文本方式直观,双击可以定位到代码行。

 

  相关解决方案