Linux下C++的的开发和调试运行工具
转载:https://blog.csdn.net/educast/article/details/41911697
GNU DDD(Data Display Debugger)是命令行调试程序,如GDB、DBX、WDB、Ladebug、JDB、XDB、Perl Debugger或Python Debugger的可视化图形前端。它特有的图形数据显示功能(Graphical Data Display)可以把数据结构按照图形的方式显示出来。
DDD最初源于1990年Andreas Zeller编写的VSL结构化语言,后来经过一些程序员的努力,演化成今天的模样。DDD的功能非常强大,可以调试用C\C++ 、Ada、Fortran、Pascal、Modula-2和Modula-3编写的程序;可以超文本方式浏览源代码;能够进行断点设置、回溯调试和历史纪录编辑;具有程序在终端运行的仿真窗口,并在远程主机上进行调试的能力;图形数据显示功能(Graphical Data Display)是创建该调试器的初衷之一,能够显示各种数据结构之间的关系,并由此将数据结构以图形化形式显示;具有GDB/DBX/XDB的命令行界面,包括完全的文本编辑、历史纪录、搜寻引擎。
linux-c/c++调试利器gdb、ddd小试:http://deepfuture.iteye.com/blog/749148
csdn软件ddd下载地址:http://download.csdn.net/detail/knight_go/5263464
- c/c++编译器 gcc/g++
详情请参考网站:http://gcc.gnu.org/
- UML建模工具 Bouml
linux下比较好用的建模工具,相当于windows下的rational rose,具成了程序UML模型设计,代码编辑,代码生成功能等功能.
详情请参考网站:http://bouml.free.fr/
- makefile文件编写工具 :autoconf,automake
无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,
我们都经常要用到make或 make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,
对于一个包括几百个源文件的应用程序,但是如果通过查阅make的帮助文档来手工编写Makefile,对任何程序员都是一场挑战。
幸而有GNU 提供的Autoconf及Automake这两套工具使得编写makefile不再是一个难题
使用make和 makefile工具就可以轻而易举的理顺各个源文件之间纷繁复杂的相互关系,autoconf,automake一般配合libtool使用。
详情请参考网站:http://www.ibm.com/developerworks/cn/linux/l-makefile/
http://www.gnu.org/software/autoconf/
http://www.gnu.org/software/automake/
http://www.gnu.org/software/libtool/
- 调试工具:gdb
在window下编程,调试工具已经具成到VS环境,在linux/Unix下调试则通过gdb来调试,个人觉得gdb调试比vs调试高效很多。
详情请参考网站:http://www.gnu.org/software/gdb/
- 内存泄漏工具:valgrind
对于动则成千上万行的代码,很难通过手工的方式去保证内存没有泄漏,
valgrind通过内存申请、释放匹配的原则来检测内存泄漏,内存越界的BUG。当然,良好的编程习惯也是保证代码质量高效必不可少的条件。
参考网站:http://valgrind.org/
- 源代码管理工具:svn
软件开发不再是个人大师的年代,都是以团队的方式来开发,如何保证代码的同步,协同开发,svn给我们提了很好的帮助。
详情请参考网站:http://svncorp.org/
- 网络协议分析工具:wireshark
编写网络程序,就不可避免要处理网络协议,分析网络数据.wireshark提供了关于网络层和上层协议的各种信息。
命令行下分析网络协议可以使用tcpdump.
详情请参考网站:http://www.wireshark.org/