Linux-ubuntu-GDB调试
test.c
#include <stdio.h>
int func2(int b)
{
int ret;
ret = b * b;
return ret;
}
int func1(int c)
{
int ret;
ret = 10 + func2(c);
return ret;
}
void main()
{
int i;
long result = 0;
for(i=1; i<=100; i++)
{
result += i;
}
printf("result = %d\n", result );
result = func1(result);
}
编译test.c文件
gcc -g test.c -o test
调试testg可执行文件
gdb test
常用gdb命令
start 程序开始,在main函数第一条语句执行后停下
list 列出程序代码
list 1 //列出第一行周围的代码
b 设置断点
info b //列出断点信息
q 退出
d 删除断点
watch 设置观察的表达式
p 打印变量的值
s 单步运行,遇到函数会进入
n 单步运行,遇到函数不会进入
continue 运行程序,直至到达下一个断点
run 运行程序
finish 运行程序直至结束