1. 编译和运行
$ gcc demo.c -o gdb_demo
$ gdb gdb_demo
run
2. 断点
break 14 在14行设置断点
info break 查看所有的断点
break if i=5 当指定的变量 i=5时,stop
enable break (once/delete) 1 启用(一次/后删除)断点 1
disable break 1
delete break 14 删除断点14
delete break 1-14 删除1-14的所有断点
delete
用法:delete [breakpoints num] [range...]
delete 可删除单个断点,也可删除一个断点的集合,这个集合用连续的断点号来描述。无范围指定表示删除所有断点。
clear
用法:clear location
location=<file funcion/line> 描述具体的断点,所在行,所选定的环境
clear 14 删除14行所有的断点
clear list.c 14 删除list.c里14行所有的断点
clear function_a 删除function_a里所有的断点
clear list.c function_a 删除list.c里function_a里所有的断点
---------------------------------
3. 单步调试
next [n] 下一个程序语句,遇到函数不进入
nexti [n] 下一个机器语句,遇到函数不进入
step [n] 下一个程序语句,遇到函数进入
stepi [n] 下一个机器语句,遇到函数进入
until 运行到循环结束,当在循环体内跟踪想跳出循环时使用