一、生成带有调试信息的程序
gcc main.c -o app -g
二、启动调试
- 启动调试:
gdb app
- 设置参数:
set args
set args 123 abc 456 ddd
- 查看代码:
list
或l
- 查看代码显示行数:
show listsize
- 设置代码显示行数:
set listsize 20
- 查看当前文件:
l
l 行号
l 函数名
- 查看非当前文件:
l 文件名:行号
l 文件名:函数名
- 查看代码显示行数:
三、断点相关
- 设置断点:
break 行号
b 行号
b 函数名
b 文件名:行号
b 文件名:函数名
- 查看断点:
info break
或i b
- 删除断点:
del 断点Num
d Num
d Num1 Num2
d Num1-Num10
- 设置断点无效:
dis Num
- 断点生效:
ena Num
- 设置条件断点:
b 行号 if i == 10
四、调试相关
- 启动运行:
start
-s
run
-r
- 退出 gdb 调试:
quit
-q
- 打印变量的值:
p 变量名
- 打印变量的类型:
ptype 变量名
- 向下单步调试:
next
-n
step
-s
- 跳出函数体:
finish
- 从循环中跳出(循环体中不能有断点):
until
- 设置变量的值:
set var 变量名 = value
- 继续运行到下一个断点:
continue
-c
- 监视变量:
display 变量名
- 查看所有的监视变量的信息:
info(i) display
- 取消变量监视:
undisplay Num