cgdb的介绍和使用

本文介绍了cgdb,一个轻量级的gdb终端界面增强工具,特别适合在终端环境下进行调试。文章详细讲解了如何下载、安装cgdb,并通过一个示例演示了其基本操作,包括代码同步、vi编辑模式、断点设置等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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等。

### cgdb 分屏使用教程及配置方法 cgdb 是一个基于 GDB 的增强调试工具,支持分屏显示源代码调试信息。以下内容详细介绍了如何使用 cgdb 的分屏功能及其配置方式。 #### 1. 安装 cgdb 在不同操作系统中安装 cgdb 的方法如下: - Ubuntu 系统:`sudo apt-get install -y cgdb`[^2]。 - CentOS 系统:`sudo yum install -y cgdb`[^2]。 #### 2. 启动 cgdb 并进入分屏模式 启动 cgdb 后,默认会以单屏模式显示源代码或调试信息。可以通过以下步骤切换到分屏模式: - 按下 `ESC` 键切换到源代码窗口[^4]。 - 输入快捷键 `Ctrl+W` 切换为左右分屏模式。此操作将界面分为两个部分:左侧为源代码窗口,右侧为调试信息窗口。 #### 3. 使用分屏模式进行调试 分屏模式下,用户可以在左侧窗口查看源代码,同时在右侧窗口输入调试命令。例如: - 在调试信息窗口(右侧)输入 `run` 命令以运行程序。 - 如果需要传递输入文件,可以使用 `run <in` 的形式,其中 `in` 是包含输入数据的文件名。 #### 4. 配置 cgdb 的分屏行为 cgdb 的分屏行为可以通过配置文件进行自定义。默认情况下,cgdb 会读取用户的 `.cgdbrc` 文件(位于用户主目录下)。以下是常用的配置选项: - 设置默认分屏模式为左右分屏: ```bash set window-layout horizontal ``` - 设置默认分屏比例: ```bash set source-window-ratio 0.6 ``` 上述命令将源代码窗口的高度设置为整个界面高度的 60%[^2]。 #### 5. 其他相关功能 除了分屏功能外,cgdb 还提供了图形化界面,允许用户通过鼠标点击设置断点或切换汇编代码视图[^3]。这些功能结合分屏模式,可以显著提升调试效率。 ```python # 示例:创建一个简单的 Python 脚本并用 cgdb 调试 def main(): a = 5 b = 10 c = a + b print(c) if __name__ == "__main__": main() ``` 在上述代码中,可以使用 cgdb 分屏模式观察变量 `a`、`b` `c` 的值变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值