Linux中调试工具GDB(安装到入门)
GDB介绍
gdb是一款代码调试工具,使用命令行方式进行代码的调试
使用GDB的准备事情
我们先使用vim创建一个源文件vim mycode.c
,完成一个乘法程序
使用Makefile自动化构建工具进行代码的预处理、编译、汇编、链接、清理工作
gcc默认编译成功之后生成的可执行程序是release版本的,需要添加上 -g 选项才可以生成debug版本的可执行程序
接下来我们使用make
命令自动化编译代码生成mycode
可执行文件
万事俱备只欠GDB
小问题:如果使用
gdb --version
显示
说明你当前系统中没有安装gdb
使用sudo yum install gdb
安装
启动gdb
gdb 可执行文件的名字
进入gdb工具
GDB常用命令
- 查看程序源代码
list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行
//例:l 0 查看第0行以及往后10行的代码
- 开始运行程序,直到遇到“断点”或者“结束”:
r(run)
- 设置断点
输入 break(b)+数字 可以对程序进行断点操作(数字就是设置断点的代码行数)
- 查看断点信息
输入 info breakpoints 即可查看断点信息
- 单步执行
next(n):单步执行程序,但是遇到函数时会直接跳过函数,不进入函数
step(s):单步执行程序,但遇到函数会进入函数
continue:继续执行程序,直到遇到断点或结束
- 删除断点
delete breakpoints:删除所有断点
delete breakpoints n:删除序号为n的断点
退出GDB
输入quit(q)
普通网友: 文章内容通俗易懂,适合不同层次的读者。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】
普通网友: 博主的文章让我对这个主题有了全新的认识,细节描写非常到位,让我感受到了博主的深厚功底。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】
CSDN-Ada助手: 不知道 算法 技能树是否可以帮到你:https://edu.csdn.net/skill/algorithm?utm_source=AI_act_algorithm
皮蛋的小世界: 能帮到你那就好,哈哈哈
流火极光: 其实方便的理解就是sprintf是printf的进阶版 printf 是把内容输出到屏幕前 sprintf 是把内容输出到字符串里