keil编写程序完成后debug前面出现绿 {MOD}框框

2019-03-24 17:03发布

本人51单片机初学者,在用keil写完程序后,debug时出现的现象求解:1、程序有的行前面有灰 {MOD}才能打断点,没有灰 {MOD}无法打断点。
2、程序前面黄 {MOD}箭头无法移动。
3、此时project按钮按下去后无法按其中按钮。
4、不知道啥时候有的灰 {MOD}框框变成绿 {MOD}的了,不知道啥意思。
具体贴图如下: 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
Li_Lei
1楼-- · 2019-03-25 00:40
是编译器优化的原因,优化后没有代码对应自然就不能断点了
小小白
2楼-- · 2019-03-25 02:34
我经验不足,不知道啊,但是你可以把你的程序和工程文件打包发上来我下载了之后在我电脑上仿真试试看,不知道可以吗?
Li_Lei
3楼-- · 2019-03-25 02:37
 精彩回答 2  元偷偷看……
辛昕
4楼-- · 2019-03-25 04:31
1、程序有的行前面有灰 {MOD}才能打断点,没有灰 {MOD}无法打断点。
仔细瞧瞧有灰 {MOD}的和没灰 {MOD}的行有啥区别?
有没发现,那些不是括号就是一些函数头之类的东西,这些东西,函数当然无法执行到这些地方,自然也就无法下断点。
有的IDE更牛逼,你刻意在中间来一个死循环,下边的都打不了断点——这玩意太聪明了。
2、程序前面黄 {MOD}箭头无法移动。
就你的图来看,那是个循环,人家还没走完呢?
如果你怀疑这个结论,在下边的语句加一个断点,然后选择执行到下一个断点——当然了,执行到这个位置是要时间的。具体啥时候执行过去我也不知道。
你是在单步吧?

3、此时project按钮按下去后无法按其中按钮。
亲,这是必须的,因为你debug时,是不允许做这些操作的,就好像,你在debug的时候,是没法编译改动的程序一样的。

第四个问题,不好意思,我也不太清楚。

4L的兄弟说的对。
不同层循环之间,要小心操作不同层的循环变量,不然极可能导致死循环。或者反过来,循环次数不够
辛昕
5楼-- · 2019-03-25 09:09
这个循环肯定是陷进一个死循环里
无赖好好
6楼-- · 2019-03-25 09:43
 精彩回答 2  元偷偷看……

一周热门 更多>