回复 楼主 无赖好好 的帖子
是编译器优化的原因,优化后没有代码对应自然就不能断点了
我经验不足,不知道啊,但是你可以把你的程序和工程文件打包发上来我下载了之后在我电脑上仿真试试看,不知道可以吗?
回复 楼主 无赖好好 的帖子
你程序写错了吧
for (i=1000;i>=0;i--)
for (j=110;j>=0;j--); //for (i=110;j>=0;i--)这段对 i 的重新赋值会导致前个for循环无任何意义,因此优化后就没有代码可执行了
1、程序有的行前面有灰色才能打断点,没有灰色无法打断点。
仔细瞧瞧有灰色的和没灰色的行有啥区别?
有没发现,那些不是括号就是一些函数头之类的东西,这些东西,函数当然无法执行到这些地方,自然也就无法下断点。
有的IDE更牛逼,你刻意在中间来一个死循环,下边的都打不了断点——这玩意太聪明了。
2、程序前面黄色箭头无法移动。
就你的图来看,那是个循环,人家还没走完呢?
如果你怀疑这个结论,在下边的语句加一个断点,然后选择执行到下一个断点——当然了,执行到这个位置是要时间的。具体啥时候执行过去我也不知道。
你是在单步吧?
3、此时project按钮按下去后无法按其中按钮。
亲,这是必须的,因为你debug时,是不允许做这些操作的,就好像,你在debug的时候,是没法编译改动的程序一样的。
第四个问题,不好意思,我也不太清楚。
4L的兄弟说的对。
不同层循环之间,要小心操作不同层的循环变量,不然极可能导致死循环。或者反过来,循环次数不够
回复 沙发 huo_hu 的帖子
这个循环肯定是陷进一个死循环里
感谢版主小小白得关注,感谢huo_hu跟辛昕的无私帮助,问题已经得到解决!祝各位商祺!
第四个问题,是因为在options 里面Debug选择你选择的是
左边的Use Sinmulator, 比如我用ULINK2调试程序,会选择右边的ULINK2/ME Cortex Debugger
选择Option for target ,再选Debug选项,选择右边USE后面的单选框即可。