万年历程序debug遇到的奇怪问题之解(比较弱)

记录下来只为后续方便。

原来GDB中打印出的的语句并没有立即执行,要等到下一条才能执行。所以之前的错误都是因为其实还没有真正初始化导致。

再调试时,结果如下:

(gdb) set args 2010 12 2
(gdb) break main
Breakpoint 1 at 0x80486f3: file calendar.c, line 120.
(gdb) r
Starting program: /home/wupeng/programe/linuxc/a.out 2010 12 2

Breakpoint 1, main (argc=4, argv=0xbffff394) at calendar.c:120
120        uint16 year = 0;
(gdb) s
121        uint8 month = 0;
(gdb)
122        uint16 day = 0;
(gdb)
123        uint32 days = 0;
(gdb) print year month
A syntax error in expression, near `month'.
(gdb) print year
$1 = 0
(gdb) print month
$2 = 0 '/000'
(gdb) print day
$3 = 0

上面看来,执行已是OK,所以夗了一个比较弱智的错误.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值