cgdb基本用法总结

cgdb的特性
高亮的源代码窗口
可视化的断点
常用功能的键盘快捷键
搜索源代码(通过正则表达式)
cgdb的安装
yum install cgdb
1
文件对话窗口
通过文件对话框窗口,用户可以浏览和选择他们想要查看的文件。它为用户提供了一个与被调试程序有关的所有源代码文件的列表。如果没有文件被显示,可能是因为没有程序正在被调试,或者是因为被调试的可执行程序中没有调试信息,在这些情况下,文件对话框窗口不会打开,状态栏上会显示一条错误信息。

可以通过在代码窗口中键入o 来打开文件对话框窗口。当打开了文件对话框窗口后,需要通过键入 q 来关闭它。可以通过方向键来选择想要的文件,甚至可以使用正则表达式去搜索文件。在文件数量越来越多的情况下,这个功能可以省去很多的时间。

tty窗口
#include <stdio.h>
int main(){
    int num;
    scanf("%d", &num);//cgdb到这里会陷入循环输入,需要用TTY窗口读入数据
    printf("%d", num);
    return 0;
}
1
2
3
4
5
6
7
用户进行调试时,如果遇到上述代码的scanf()语句并且在调试的时候键入值后,会陷入死循环,所以这个时候如果我们用cgdb的话,调试必须要打开TTY窗口,在TTY窗口中输入的数据将被直接传给被调试的程序(即可以是scanf()),在命令模式下按 T 键可以显示这个窗口。在按下 T 键之后,你会发现在代码窗口和cgdb窗口中间出现了一个新的窗口。它叫做tty窗口。当tty窗口打开时,所有从程序输出的数据将会被显示在那里。

调试命令
cgdb窗口命令
让用户进入gdb模式:i 
让用户进入TTY模式: I

代码窗口
向上翻一页:ctrl b 
向上翻半页:ctrl u 
向下翻一页:ctrl f 
向下翻半页:ctrl d 
移动到文件顶部:gg 
移动到文件底部:G 
从当前光标向下搜索:/ 
从当前光标向上搜索:? 
打开文件对话框窗口(用户查找):o

cgdb命令窗口的调整
缓慢缩小:- 
缓慢增大:= 
快速缩小:shift - 
快速增大:shift +
--------------------- 
作者:晨哥是个好演员 
来源:优快云 
原文:https://blog.youkuaiyun.com/gc348342215/article/details/70768109?utm_source=copy 
版权声明:本文为博主原创文章,转载请附上博文链接!

### 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、付费专栏及课程。

余额充值