现在的位置: 首页 > 综合 > 正文

Linux C编程(2) 使用GDB调试入门

2018年02月15日 ⁄ 综合 ⁄ 共 953字 ⁄ 字号 评论关闭

此例参考《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

四、实例截图

 

 

 

 

抱歉!评论已关闭.