网站dns解析成全视频免费观看在线看2024年新年贺词
文章目录
- 一、编译成debug
- 1、-g 选项
- 二、gdb调试命令
- 1、在CentOS系统下检查安装gdb
- 2、进入gdb模式
- 3、quit 退出gdb
- 4、list (简写 l)显示文件内容
- 5、b 打断点
- 6、 r / run运行程序
- 7、c 让程序直接运行完
- 三、cgdb
- 1、info b查看打的所有断点
- 2、d 删除断点
- 3、n / next 逐过程
- 4、s/step 逐语句
- 四、调试技巧
- 1、watch 修改时显示
- 2、 set var 调试时修改值
- 3、条件断点
- 4、condition给已存在的断点添加条件
一、编译成debug
Linux 下我们编译好的代码,无法直接调试!
gcc/g++ 默认的工作模式是release模式
1、-g 选项
在编译时加上-g 选项

-g后生成的.o 文件被链接后的可执行程序占用的空间会变大
查看调试信息:

-g选项,让最后形成的可执行程序,添加调试信息—debug模式!
二、gdb调试命令
1、在CentOS系统下检查安装gdb
使用gdb --version命令来检查

显示没有找到,就说明没有安装
使用 sudo yum install gdb 来安装

2、进入gdb模式
gdb + 链接好的可执行程序文件名:进入gdb模式

3、quit 退出gdb
quit:退出

4、list (简写 l)显示文件内容

指定 行号从指定行号开始显示

从第1行开始打印内容,然后直接回车把文件内容全部打印出来
5、b 打断点
b 后面跟行好在指定行打断点

6、 r / run运行程序

会在断点处停下来
7、c 让程序直接运行完

三、cgdb

cgdb跟gdb的使用方法一样,但cgdb更好观察代码,会分屏显示代码


1、info b查看打的所有断点

断点编号 ------ 断点类型---------------------------是否使能----断点地址--------------------------------打的什么断点
2、d 删除断点
删断点只能根据断点编号来删

gdb不退出断点编号依次递增
3、n / next 逐过程
4、s/step 逐语句
四、调试技巧
1、watch 修改时显示
执⾏时监视⼀个表达式(如变量)的值。如果监视的表达式在程序运⾏期间的值发⽣变化,GDB会暂停程序的执⾏,并通知使⽤者
2、 set var 调试时修改值
3、条件断点

4、condition给已存在的断点添加条件

后面跟断点编号
