开发相关的常用工具

以下为本人个人常用的工具,仅供备份记录。

编辑工具:

  Notepad++:一款非常有特色的编辑器,开源软件,可免费使用。内置支持多达27种语法高亮度显示(包括各种常见的源代码、脚本,能够很好地支持.nfo文件查看),还支持自定义语言;功能比Windows中的Notepad(记事本)强大,一般使用IDE时编辑源码比较耗内存、运行速度慢等,可以使用其作为比较友好的编辑器,不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。

  VIM:类似于VI,功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性,各种命令、快捷快、功能组合,插件等很强大。

开发环境:

  Visual Studio系列:windows下微软的很强大的开发环境,支持多种编程语言,包括了所需要的大部分工具,如UML工具、代码管控工具、IDE等,个人认为是基于windows下编程最好用的IDE,对软件开发效率有很大的提高。

  QT:跨平台开发环境,一般用于Linux下,也提供了很不错很强大的框架,跨平台C++图形用户界面应用程序开发框架,不过现在支持的插件很多,很容易扩展,支持语言也很多了。

文本比较工具:

  Beyond Compare: 主要用途是对比两个文件夹或者文件,并将差异以颜色标示可以用来对比文件或文件目录或FTP目录文件等,类似于SVN或GIT文件版本比较,很多时候会很方便的。

文件搜索:

  Everything:非常好用的文件、文件夹搜索工具,比windows自带的快N多倍,体积小巧,界面简洁易用,快速建立索引,快速搜索,同时占用极低的系统资源,实时跟踪文件变化,并且还可以通过http或ftp形式分享搜索,还有过滤功能等,很强大。

类似于Everythig快速搜索、启动应用程序

     Windows下比较好的工具有:Wox,Lanuchy。此外Lanuchy还支持多种平台,如Linux、Mac。

MarkDown编辑工具:

   Linux下的ReText 即时编辑、预览,导出多种格式。

  Windows下的MarkDownPad等。

辅助工具:

  Visual Assist: 配合Visual Studio,可以说是极大的提高了软件开发、编程效率。

UML/建模:

  Rational Rose:强大的建模工具。

  Startuml:一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具,也很不错,开源的。

源码、工程版本控制:

  SVN:

  GIT:

  CVS:

  HG:

  以上源码版本控制工具都有用过,SVN、GIT、HG、CVS开放源代码的版本控制系统,主要是取代CVS,CVS比较慢,但SVN相对GIT要慢很多。

注释工具:

  Visual Assist:同上,含注释功能。

  Doxygen开源的项目,注释时要按照其规定的格式写,后用其工具能够生成多种格式的文档。

调试工具:

  WindDbg:windows下很强大的调试工具,可支持用户态和内核态调试,比VS自带的强大很多。

  还有很多其他的调试工具:SysinternalsSuite:强大的工具包集合。

另外还有其他的网络通信:Smsniff、WireShark,USB:BusHound、PortHelper,RS232:AccessPort、PortHelper,GPIB:NI等调试、跟踪工具。

 发布程序应用程序配置异常、错误时,跟踪工具:发布程序应用错误,跟踪工具:

   Sxstrace: 发布debug、release版本应用时,加载异常、错误,可跟踪具体的错误信息,通过信息找到出错原因。

    跟踪开启:SxsTrace Trace -logfile:SxsTrace.etl;

    解析跟踪文件etl转化为便于识别的txt格式:SxsTrace Parse -logfile:SxsTrace.etl -outfile:SxsTrace.txt。

   Dependency walker:可查看库或应用程序依赖关系以及导入、导出函数等,部分应用程序运行异常,可通过此工具查看缺少的依赖库;有时候该工具都找到并添加相应依赖库后仍然运行异常,则可结合sxstrace,查看是否缺少或是不匹配的清单文件,或者是其他错误提示信息。

  (除了dependency和StudPE可以查看导出函数外,VS提供的dumpbin工具也可以查看导出函数或其他PE内容)

 PE文件修改、查看、对比、导出等工具:

  StudPE:可修改PE格式(Exe、Dll等),导出、编辑等;

 联合编译:

  incredibuild:可加快C/C++ 的编译和创建速度,对于大型项目创建、编译可以节省很大的时间,事实上就是把某些编译任务分发到其他的安装了incredibuild的主机上执行;以节省开发、编译的时间开销;  

posted @ 2015-09-12 11:46  浩月星空  阅读(679)  评论(0编辑  收藏  举报