当你需要单步跟踪调试的时候,就必然会用到gdb工具,不同于VS方便的调试方式,gdb的调试并不是那么的方便直观。不要降低热情,熟练以后你会发现Linux下的编程方式非常好用。
一、简介
gdb是GNU发布的一款功能强大的程序调试工具。
gdb主要完成下面三个方面的功能:
1. 启动被调试程序
2. 让被调试程序在指定位置停住
3. 当程序被停住时,检查程序状态(如变量值)
二、 gdb工具的命令使用
1. 编译生成可执行文件
gcc -g crawler.c -o bin/crawler
根据【第03讲 Makefile详解】,可以把个命令写到makefile里面
2. 启动gdb
gdb bin/crawler
3. 设置/查看/删除断点
3.1 在函数处设置断点
break 函数名
break main ->在main函数处设置一个断点
3.2 在文件的某一行设置断点
break 文件名:行号
break main.cpp:52
3.3 设置断点条件
break 行号 if 条件
break 25 if i = 10
3.4 info break -> 查看所有设置的断点
3.5 delete 断点编号 -> 删除断点
4. 运行程序
run -> 运行,并在遇到断点时停止
5. 显示文件的接下来的几行
list -> 简写为 l
6. 查看变量的值
6.1 print -> 查看指定变量值
6.2 watch -> 对指定变量进行监控,当变量有变化时断点
7. 单步执行
next -> 不进入子函数
step -> 进入子函数
8. 继续执行
continue -> 继续执行,直到遇到下一个断点
finish -> 继续执行,直到当前函数结束
9. 停止调试
quit -> 退出gdb