本文共 1146 字,大约阅读时间需要 3 分钟。
实例调试程序 main.c :
#include <stdio.h>
int add_range(int low, int high)
{
int main(void)
{
以上函数add_range功能为从low加到high,基本调试步骤:
1.编译
$ gcc -g main.c -o main
2.调试
$ gdb main
3.帮助
(gdb) help
4.从第几行列出代码
(gdb) list 10
(gdb) l 10
5.直接回车重复上一条命令
6.开始调试,gdb会停在main()函数变量定义后第一条语句
(gdb) start
7.执行下一条(不进入函数),执行到printf语句时会直接输出到终端
(gdb) next
(gdb) n
8.步进,进入函数
(gdb) step
(gdb) s
9.查看栈帧
(gdb) backtrace
(gdb) bt
10.选择栈帧
(gdb)frame 帧编号
(gdb)f 帧编号
11..显示当前栈帧局部变量
(gdb)info locals
(gdb)i locals
12.打印变量
(gdb)print 变量
13.给变量赋值
(gdb)set var 变量=值
14.运行结束
(gdb) finish
15.退出
(gdb) quit
断点调试:
1.每次运行都显示变量
(gdb) display 参数
2.取消display
(gdb) undisplay 参数
3.设置断电
(gdb)break 行数
(gdb)b 行数
(gdb)b 文件名:行数 #在多文件情况下
4.运行至断点
(gdb)continue
(gdb)c
5.显示所有断点
(gdb) info breakpoints
(gdb) i breakpoints
6.删除某个断点
(gdb) delete breakpoints 断点号
7.条件断点
(gdb) break 断点行数 if 变量 != 0
8.重新开始运行到断点
(gdb) run
(gdb) r
9.禁用断点
(gdb)disable breakpoints 断点号
10.启用断点
(gdb)enable 断点号
转载地址:http://ucjqd.baihongyu.com/