为什么GDB有时候会跳过本来应该执行的语句?怎么解决这个问题啊?

[复制链接]
查看11 | 回复2 | 2012-2-17 06:32:30 | 显示全部楼层 |阅读模式
这个该执行的都执行了,有些地方你估计没弄明白。schedule () at schedule.c:3131 int i = (last_task_nr == 0) ? last_task_nr = 1 : last_task_nr;->这个就执行了你打印的那一句。38 if (task == NULL)->这个就执行了你打印的另外一句。因为没有全部程序,不清楚 task、last_task_nr 究竟怎么回事。修改:i的问题:volatile int i = xxxxxxxx;如果还有问题:你可以:例如 volatile int * volatile task;出问题的都加上。不...
回复

使用道具 举报

千问 | 2012-2-17 06:32:30 | 显示全部楼层
跟注释没关系,编译的时候用优化选项了吧,gdb要和gcc结合起来学习。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行