cgdb使用命令

本文介绍cgdb的基本使用方法,包括如何在vi窗口查看代码,在gdb窗口进行调试操作,以及如何在两个窗口间切换。此外还详细介绍了各种快捷键的功能,如设置断点、搜索代码等。

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

cgdb分为上下两栏,上方类似vi窗口显示代码,下方gdb窗口进行调试操作,上下窗口连动,也就是说vi窗口里显示的代码会跟随gdb窗口里调试的位置同步进退;

按esc键可让输入焦点进入到vi窗口,再按i键回到gdb窗口。按其它键也可以进入到vi窗口;

vi窗口可进行的操作包括: 上下左右翻动,按冒号:开始进行设置,比如设置上面窗口全屏显示,按斜干/为在当前文件内搜索,按o键可以显示当前程序关联的文件列表,按空格则在当前位置设置/取消断点。

  1. 基本命令
    cgdb窗口命令

让用户进入gdb模式:i

让用户进入TTY模式: I

代码窗口

向上翻一页:ctrl b

向上翻半页:ctrl u

向下翻一页:ctrl f

向下翻半页:ctrl d

移动到文件顶部:gg

移动到文件底部:G

从当前光标向下搜索:/

从当前光标向上搜索:?

打开文件对话框窗口(用户查找):o

cgdb命令窗口的调整

缓慢缩小:-

缓慢增大:=

快速缩小:shift -

快速增大:shift +

### CGDB 调试使用教程和入门指南 CGDB 是 GDB 的终端界面增强版,相比 Windows 下的 Visual Studio,它的功能显得十分轻量级,没有太多繁杂的操作。CGDB 有上下两栏窗口,上栏的窗口支持 vi 编辑器的语法,可以方便地使用它来进行字符串定位等功能。在 GDB 下使用 `layout src` 时,界面往往容易花屏,而 CGDB 更加稳定可靠 [^1]。 #### 安装 CGDB 工具 在 Ubuntu 系统下,可以通过以下命令安装 CGDB: ```bash sudo apt install cgdb -y ``` #### 启动 CGDB 安装完成后,可以直接通过命令启动 CGDB 并加载要调试的程序。例如,假设有一个名为 `hello` 的可执行文件,可以使用以下命令启动 CGDB: ```bash cgdb hello ``` #### 基本操作 1. **切换窗口**:CGDB 的界面分为上下两个窗口,上方是代码窗口,下方是 GDB 命令窗口。可以通过 `Ctrl + x` 快捷键在两个窗口之间切换。 2. **设置断点**:在代码窗口中,可以使用 vi 编辑器的语法来设置断点。将光标移动到要设置断点的行,按下 `b` 键,该行会显示一个断点标记。 3. **运行程序**:在 GDB 命令窗口中,输入 `run` 命令来启动程序。如果程序需要参数,可以在 `run` 后面加上参数。 4. **单步执行**:使用 `step` 命令可以逐行执行代码,进入函数内部;使用 `next` 命令可以逐行执行代码,但会进入函数内部。 5. **查看变量**:在 GDB 命令窗口中,可以使用 `print` 命令查看变量的值。例如,`print variable_name` 可以显示变量 `variable_name` 的当前值。 6. **继续执行**:当程序在断点处暂停时,可以使用 `continue` 命令让程序继续执行,直到下一个断点或程序结束。 7. **退出 CGDB**:输入 `quit` 命令可以退出 CGDB。 #### 高级功能 1. **监视点**:除了设置断点外,还可以设置监视点来监控特定内存地址的变化。使用 `watch` 命令可以设置监视点。例如,`watch variable_name` 可以设置一个监视点,当 `variable_name` 的值发生变化时,程序会暂停。 2. **条件断点**:可以通过 `break` 命令结合 `if` 条件来设置条件断点。例如,`break line_number if condition` 可以在满足特定条件时触发断点。 3. **查看调用栈**:使用 `backtrace` 命令可以查看当前的调用栈,了解程序的执行路径。 4. **修改变量值**:在调试过程中,可以使用 `set` 命令修改变量的值。例如,`set variable_name = new_value` 可以将变量 `variable_name` 的值修改为 `new_value`。 #### 编译带有调试信息的程序 为了更好地进行调试,编译程序时需要包含调试信息。可以使用以下命令编译程序: ```bash gcc -g -O0 -Wall -o myprog myprog.c ``` 其中,`-g` 选项用于生成调试信息,`-O0` 选项禁用优化,`-Wall` 选项启用所有警告信息 [^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值