您的位置:首页 > 其它

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

2010-12-07 23:19 246 查看
记录下来只为后续方便。

原来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,所以夗了一个比较弱智的错误.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: