1、GDB下载
CentOS
$ yum -y install gdb
Ubuntu
apt-get install gdb
2、GDB 编译
-g
示例
gcc -g program.c -o program
3、GDB 启动、退出
启动语法: gdb + 可执行文件
gdb program
退出
quit/q
使用帮助:
help
查看当前代码
list / l (从默认位置显示)
list / l 行号 (从指定的行显示)
list / l 函数名 (从指定的函数显示)
查看指定文件代码
list / l 文件名 :行号
list / l 文件名 :函数名
显示/设置 list 显示的行数
show list / listsize
set list / listsize 行数
4、断点操作
指定 行 为断点
b/break 行号
指定 函数 为断点
list/l 文件名 :函数名
指定 某个文件 的某一行 或 某个函数 为断点
b/break 文件名:行号
b/break 文件名:函数
查看断点
i/info b/break
删除断点
d/del/delete 断点编号
设置断点无效
dis/disable 断点编号
设置断点 生效
ena/enable 断点编号
设置条件断点
例如 第10行 是循环判断语句
while( i < 10)
b/break 10 if i==5
5、GDB 调试命令
开始运行
start 程序停在第一行
run 遇到断点才停
继续运行
c/continue
逐行运行(不会进入函数体)
n/next
变量操作
p/print 变量名 <- 打印变量值
ptype 变量名 <- 打印变量类型
逐行调试(遇函数进入函数体)
s/step
finish(跳出函数体)
自动变量操作
display 变量名 (自动打印指定变量的值)
i/info display (查看设置的自动变量操作)
undisplay 编号 (删除设置的自动变量)
其它操作
set var 变量名 = 变量值
until (跳出循环)
整理不易,你的点赞、关注是对我最大的鼓励