不要和讲述工具不是最重要的理论,我知道,并且就是一直被其所害。这里我得说明一下,在最开始学习某种编程语言的时候的确应该主要关注与语言特性的学习而不是被一些复杂的IDE所分心,但是当真的成为一个程序员后,当渐渐的一种语言对你来说也就是一种工具的时候,那些IDE一样的工具,也应该值得你花同样的实现去学习!
这里主要也就是列出平时我用到的工具,自从刚开始工作的时候被总监一句“工欲善其事必先利其器”的话警醒,从以前学习时那种语言才是最重要的,IDE什么都仅仅是个工具而已的思想中走出来。我开始有意识的花功夫去学习那些以前我很不屑去学习的工具。事实上,作为一个计算机面前工作的人员(其实不仅仅是程序员),熟悉好你手中的每一个工具,那都是节省你时间的法宝,同时,节省的是你的生命。(虽然说主要是提高你的工作效率。)并且,因为好的工具可能最主要关注的是熟练使用者的使用效率,所以往往都不那么“初学者友好”,使很多人望而却步,但是在我逐渐的去熟悉了这样一些工具以后,我总是会发现,我用来学习一个好工具的时间,到头来总是会远远的少于用一个好工具为我节省的时候,所以,一个好工具几乎总是值得投入足够的精力去学习的,毕竟,学会了一个好工具会一直受用!这点,我深有体会!
作为一个列表,得有个分类和顺序,先列表,然后再讲理由吧。
文本编辑工具:特别推荐vim! Windows/Linux/X多平台通用
辅助:Ultra Edit:Windows下偶尔用用
IDE: Visual Studio 2005(VS2005) Windows下的C++开发环境
Eclipse: Windows/X 多种语言跨平台综合开发环境
代码控制:Visual Source Safe(VSS):Windos下与VS2005结合使用
SVN,CVS:Linux下及开源需要
调试:gdb: linux/X 需要
pydb: Linux Python语句调试
bashdb: Linux bash 语言调试
工程控制:GNU make:Linux
编译器: gcc:Linux
UML: IBM Rational rose:windows,最强大的UML工具,毋庸置疑
测试工具:Compuware DevPartner: windows下用于检测代码错误或者内存泄露
备选工具:Visual Studio Team版自带C++代码分析工具
Profiler: AQTime:Windows下代码运行时间分析工具
8. 资源管理器:Total Command:Windows
9. 比较工具:Beyond compare:Windows
10. 16进制编辑工具:WinHex, 我认为Windows下最佳的16进制编辑工具
HView:Windows,同样优秀,除了界面有点老,支持对PE文件格式的分析及内带反汇编功能
11. 反汇编静态分析:IDA Pro,Windows/Linux,基本上,有这一个就够了,w32dm什么的我好像没有需要过。
12. 反汇编动态调试工具:OllyDbg, Windows 的确比较容易上手,功能也很强大
SoftIce,Windows ring0调试工具
13. SSH客户端: WinSCP,图形界面,主要用于远程登陆Linux服务器做文件管理用
Putty 个人感觉不错的远程控制台
以上Linux都是特指Linux下的控制台,X才是指Linux下的图形界面环境
从此列表中可以看出,我的主要工作环境还是Windows,这是工作需要,但是由于工作中服务器需要跑在Linux下加上个人爱好,所以也掌握了一些Linux下的工具,但是由于我主要是通过Putty登陆Linux服务器工作,所以对于X下的工具了解不多。再加上个人爱好和前段时间反外挂的工作,所以还了解了一些反汇编工具的使用。
再说一次的是,这个列表仅仅是我个人平时使用的软件列表,并不代表人人都喜欢,或者世界最高水平。。。。。。-_-!
以下为逐条分析,因为精力有限,可能主要讲一些我个人的看法,至于大家都知道的东西讲太多也没有意义,并且以精简为主,不然的话光是讲vim好用的插件都可以用一天的时间来写。另外。。。本来准备写一篇小文章来总结一下自己所用工具的,但是发现这个话题一旦开始,就很难收尾了。。。。结果。。。又是一个系列。