首页 > *nix技术, Shell命令, 跟踪调试 > cgdb的介绍和使用

cgdb的介绍和使用

2012年4月2日 发表评论 阅读评论 10,546 次浏览

cgdb,可以看成是gdb的终端界面增强版,相比windows下的visual studio而言,它的功能显得十分轻量级而没有太多繁杂,但最吸引我的地方还是cgdb能在终端里运行,如果它需要KDE或GNOME,我自然不会写这篇总结。cgdb开放源代码,官网为:http://cgdb.sourceforge.net/,关于它的内部细节暂且不说,这里先介绍它的使用方法,贴示例图,所谓一图胜千文,即在如此。

http://cgdb.sourceforge.net/download.php下面cgdb的源码,当前最新版本为0.6.6,解压后执行./configure、make、make install命令安装,如果差readline或ncurses库,那么对应的装上即可。

[root@localhost gqk]# cat /etc/issue
CentOS release 5.4 (Final)
Kernel \r on an \m

[root@localhost gqk]# uname -a
Linux localhost.localdomain 2.6.37.2 #1 SMP Thu Mar 15 18:32:12 CST 2012 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost gqk]# ls
cgdb-0.6.6.tar.gz
[root@localhost gqk]# tar xzf cgdb-0.6.6.tar.gz 
[root@localhost gqk]# cd cgdb-0.6.6
[root@localhost cgdb-0.6.6]# ls
aclocal.m4  cgdb       config       configure     COPYING  INSTALL  Makefile.am  NEWS    test  TODO
AUTHORS     ChangeLog  config.h.in  configure.in  doc      lib      Makefile.in  README  tgdb  various
[root@localhost cgdb-0.6.6]# ./configure 
...
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands
[root@localhost cgdb-0.6.6]# make
...
make[2]: Leaving directory `/home/gqk/cgdb-0.6.6'
make[1]: Leaving directory `/home/gqk/cgdb-0.6.6'
[root@localhost cgdb-0.6.6]# make install
...
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/gqk/cgdb-0.6.6'
make[1]: Leaving directory `/home/gqk/cgdb-0.6.6'
[root@localhost cgdb-0.6.6]# 

总之,本文的主角已经进入到了我的系统,下面找一个应用程序来试用cgdb,就以之前的time_demo.c为例:

[root@localhost gqk]# whereis cgdb
cgdb: /usr/local/bin/cgdb
[root@localhost gqk]# gcc time_demo.c -o time_demo -lrt -g
[root@localhost gqk]# ls
cgdb-0.6.6  cgdb-0.6.6.tar.gz  time_demo  time_demo.c
[root@localhost gqk]# cgdb ./time_demo

执行上面最后一条命令后进入cgdb界面:

当我第一次看到她的容颜,我真的动心了,囧。执行试试,上下窗口可以连动:

具体点的介绍如下:
1:cgdb分为上下两栏,上面类似于vi窗口(就称之为vi窗口吧)显示对应的代码,下面gdb窗口进行调试操作,上下窗口连动,也就是说vi窗口里显示的代码会跟随gdb窗口里调试的位置同步进退。
2:按esc键可让输入焦点进入到vi窗口,再按i键回到gdb窗口。按其它键也可以进入到vi窗口,比如小键盘上的按键(如果此时Num Lock处于打开状态)。
3:vi窗口可进行的操作包括,上下左右翻动,按冒号(:)开始进行设置(具体设置命令可以参考这里),比如设置上面窗口全屏显示(即下面的gdb窗口被隐藏),按斜干(/)为在当前文件内搜索,按o键可以显示当前程序关联的文件列表,按空格则在当前位置设置/取消断点。
4:gdb窗口里的相关操作无法多说,有耐心看到这里的应该都会gdb或知道在哪看更详细的gdb操作介绍。
最后,执行cgdb可带的命令行参数和gdb类似,比如-p等。

转载请保留地址:http://www.lenky.info/archives/2012/04/1409http://lenky.info/?p=1409


备注:如无特殊说明,文章内容均出自Lenky个人的真实理解而并非存心妄自揣测来故意愚人耳目。由于个人水平有限,虽力求内容正确无误,但仍然难免出错,请勿见怪,如果可以则请留言告之,并欢迎来讨论。另外值得说明的是,Lenky的部分文章以及部分内容参考借鉴了网络上各位网友的热心分享,特别是一些带有完全参考的文章,其后附带的链接内容也许更直接、更丰富,而我只是做了一下归纳&转述,在此也一并表示感谢。关于本站的所有技术文章,欢迎转载,但请遵从CC创作共享协议,而一些私人性质较强的心情随笔,建议不要转载。

法律:根据最新颁布的《信息网络传播权保护条例》,如果您认为本文章的任何内容侵犯了您的权利,请以Email或书面等方式告知,本站将及时删除相关内容或链接。

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.