这篇文章主要讲述基于 x86 下的 C 项目开发工具,对于 ARM 等其他平台的开发不再本文的谈论范围内。

C 语言问世已经有 40 年的时间了,40 年足够一个婴儿步入壮年,现在的程序语言可谓百花齐放,对于老式的 C 由于主要在做嵌入式开发,往往缺少一个 x86 平台下的调试器,VS 支持 VC,而 VC 则是兼容 C 语言的,可能能够调试 C 的程序,但是 VS 由于主要支持的是 VC,对 C 的语法也都是基于 C++ 的,一些问题无法显现出来,而即便可以支持 C 语言,可能是 C89 的标准,不支持新的语法格式。老牌的 GDB 虽说功能极度强大,但是只能说是神器,命令行的操作方式,让新手或者即便不是新手也很难将这个工具用的好,反正我是用一次忘一次,且用起来很麻烦。

我要找的工具是需要具备 GDB 的功能,同时又具备友好的 GUI 交互的,中间我试用过 ddd,可惜该工具也太过古老了,图形界面和现在的风格完全不符合,并且一些功能用起来有点莫名其妙,然后就没再作进一步的研究了。除了 ddd 我还尝试过 Kdevelop,然而该软件过于小众,虽然有文档,但问题会频繁出现,且缺少相关的 FAQ,windows 下的 Kdevelop 更是几乎没有查有意义的参考解答。

偶然在 stackoverflow 看到 Eclipse CDT 是可以调试 C/C++ 项目的,其调用的工具就是 GDB,能够将 GDB 命令的输出结果转成 GUI 的界面清晰陈列给用户,注意本文只是提供一种我个人认为比较好的方式,其他内容可以参考下面的链接。

Eclipse 算是一个老牌的 IDE 了,可以嵌入一些开发组件,让它能够完成你的工作,其大名在 JAVA 界可能比较火些。Eclipse 支持多个平台的开发,同时载入调试工具也可以选用多种多个平台的工具。

目前使用 Eclipse 调试 C 程序感觉都比较良好,能够自动帮列出函数中变量的值,内存中的地址等等信息,基本上完全继承了 GDB 的强大之处。目前刚刚开始研究 Eclipse 还并不是特别熟悉,后续会进一步挖掘 GDB 这个调试工具。


To be continued…

参考链接:
https://www.ibm.com/developerworks/library/os-eclipse-cdt-debug2/index.html
http://www.eclipse.org/cdt/downloads.php
http://stackoverflow.com/questions/79023/is-there-a-c-gdb-gui-for-linux
http://wiki.jikexueyuan.com/project/eclipse/eclipse-run-configuration.html