GDB是GNU发布的一款功能强大的程序调试工具。GDB主要完成下面三个方面的功能:
- 启动被调试程序。
- 让被调试的程序在指定的位置停住。
- 当程序被停住时,可以检查程序状态:如变量值
调试的程序mygdb.c:
#include <stdio.h>
void myprint(int res){
?
????printf("result = %d \n",res);
}
int main(){
????int i;
????long result = 0;
????for(i=1; i<=100;i++){
????????result += i;
????}
????return 0;
}
Gdb使用流程:
- 编译生成可执行文件:
gcc –g mygdb.c –o mygdb
- 启动gdb
gdb mygdb
- 在main函数处设置断点
Break mian
- 运行程序
Run
- 利用更加丰富的gdb命令对程序进行调试
?
gdb调试的命令:
????1.list(l):查看程序:
????2. break(b) 函数名:在某函数入口添加断点:
????3.break(b) 行号:在指定行添加断点:
????4.break(b) 文件名:行号:在指定文件的指定行添加断点。
????5.info break:查看所有设置的断点。
????6.delete 断点编号:删除断点:
????7.nest(n) 单步运行程序(不进入子函数)。
????8.step(s) 单步运行程序(进入子程序)。
????9.continue? 继续运行程序:
?
????10.print(p) 变量名:查看指定变量值:
????11.set var=value 设置变量的值:
????12.quit(q):退出gdb。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
时间: 2024-10-25 10:12:55