此例参考《Linux C从入门到精通》
一、示例程序
程序功能:输入年月日后,判断此日为此年中第几日。
文件名为year.c
#include <stdio.h> int main() { int day, month, year, sum, leap; printf("\nplease input year, month, day\n"); scanf("%d, %d, %d", &year, &month, &day); switch(month) { case 1:sum = 0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=151;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; } sum = sum +day; if(year%400 == 0 || (year%4==0&&year%100!=0)) leap=1; else leap=0; if(leap == 1&&month>2) sum++; printf("It is the %dth day\n", sum); return 0; }
二、编译程序加入调试信息
添加g选项,加入调试信息。
gcc -g -o year.exe year.c
三、调试实例
gcc -g -o year.exe year.c
1.启动GDB
gdb ./year.exe
如果没有安装GDB,在Ubuntu下执行命令安装GDB
apt-get install gdb
2.设置断点
break 行号
break 22
3.开始调试
输入命令run
4.输入
2013,7,26
4.查看某变量的值
print 变量名
print sum
会显示出
$1 = 151
$1表示是第几次使用print命令,151是变量的值
5.单步执行
命令为next
我们再执行print命令,看看sum变成了多少。
$2 = 177
day为26
151+26=177
四、实例截图