1.程序的编译与运行
gcc -g -o test test.c -g生成调试信息
gdb test 进入GDB
quit 退出gdb
2.显示代码
list 一次只显示10行,直接回车即可显示后10行,一直到全部显示即可
list 2,4 显示2到4行代码
set listsize 20 设置每次list显示的行数
list filename:... 显示文件filename中的内容,后面的内容同上
3.调试界面指令
shell clear 清除屏幕
shell cmd 其他终端指令都需要加shell
4.断点
break 6 表示在第6行插入断点
break fun fun表示函数名
break 7 if n==6 带有条件的断点,n是程序中的变量(条件不仅限于此)
enable n 使能断点,n为系统分配的断点号
enable n 屏蔽断点,n为系统分配的断点号
clear i 表示清除行号为i的断点
clear fun 表示清除函数fun处断点
clear 表示清除所有断点
delete n 表示清除断点号为n的断点
delete 表示清除所有断点
5.程序运行
run 程序运行
continue 到达断点时使的程序继续运行
next 单步运行
step 加入函数的内部
nexti 同next,但是只执行一条机器指令
stepi 同step,但是只执行一条机器指令
print i 打印变量i的值
kill 结束当前运行的程序
6.程序追踪
watch b 追踪变量b的变化情况,前提是变量已经存在(需要在程序运行过程,并且变量已经被创建)
当追踪的变量改变时,将会图纸运行,并显示变量的变化情况
watch 表达式 当满足表达式时程序中断
whatis fun 查看函数fun返回值类型
whatis a 查看变量a返回值类型,变量需要被创建
ptype a 查看变量a的结构体定义情况,变量a需要已经被创建
7.设置变量值
print i=10 设置变量i=10
set variable i=10 设置变量i为10
8.调试信息显示
info breakpoints 查看断点信息
info watchpoints 查看观察点信息
9.获取帮助信息
help cmd 在gdb调试过程,查询gdb指令的使用说明
参考:GDB调试工具入门_Junhan's Blog-CSDN博客
Linux环境c程序设计