gdb
GDB 是GNU发布的一款功能强大的调试程序工具。
1. GDB主要完成下面3个功能:
a. 启动被调试的程序
b. 让被调试的程序在指定位置停住
c. 当程序被停住时,可以检查程序状态。
a. 启动被调试的程序
b. 让被调试的程序在指定位置停住
c. 当程序被停住时,可以检查程序状态。
2. 使用gdb流程:
a. 编译生成可执行文件:
gcc -g test.c -o test
b. 启动GDB:
gdb test
gdb test
c. 在main函数处设置断点:
break main / b main
break main / b main
d.运行程序:
run
run
e. 单步运行:
next
next
f. 连续运行:
continue /c
continue /c
3. 启动GDB:
a. $ gdb + 调试程序名
b. $ gdb
$ file + 调试程序名
$ file + 调试程序名
4. GDB命令如下:
a. list (l) --- 查看程序
b. break (b) + 函数名 --- 在函数入口处添加断点
c. break (b)+ 行号 --- 在指定行添加断点。
d. break (b) + 文件名:行号 --- 在指定文件的指定行添加断点
e. break (b) + 行号if条件 --- 当条件为真时,指定行好处断点生效,
例: b 5 if i =10 --- 当i = 10 时,第5行断点生效。
f. info break --- 查看程序中所有断点信息。
g. delete + 断电编号 --- 删除断点
h. run (r) --- 开始运行程序
i. next (n) --- 但不运行程序(不进入子函数)
j. step (s) --- 单步运行程序(会进入子函数)。
k. continue (c) --- 继续运行程序,停在下一个断点处。
l. print (p) + 变量名 --- 打印指定变量的值
m. finish --- 运行程序,直到当前函数结束
n. watch + 变量名 --- 对指定变量进行监控。
o. quit (q) --- 退出gdb