搜索
bottom↓
回复: 5

ccs6.0仿真断点异常情况原因求助

[复制链接]
(203810820)

出0入0汤圆

发表于 2015-6-24 10:17:23 | 显示全部楼层 |阅读模式
CCS6.0编译仿真一段简单测试代码,
volatile uint16_t n = 10;
volatile uint16_t m = 10;
if(n>100)
{
     m = 1;
}
为何仿真的时候在 m = 1;处打断点时会仿真进入?不过看下来m = 1;这句并没真正执行。而且多条件选择语句
if(...)
{
  ...
}
else if(...)
{
  ...
}
else if(...)
{
  ...
}
else
{
  ...
}
会出现有的条件判断语句在仿真时不能打断点,感觉用起来很奇怪,有没工程师知道这都是什么原因的啊?
(203809946)

出0入0汤圆

发表于 2015-6-24 10:31:57 | 显示全部楼层
本帖最后由 steaven2000 于 2015-6-24 10:33 编辑

1、看看有没有把断点打在{ 或 }处?
2、会不会你在其他文件里改了这个c文件,而在ccs里面没有更新导致行错位?
3、优化等级,有时优化太厉害了会看到光标乱跑的。
4、你的条件是否互斥?编译器判断程序在任何情况下都不会跳转到某个条件,当然就“优化”掉了这些代码。
(203798318)

出0入0汤圆

发表于 2015-6-24 13:45:45 | 显示全部楼层
选择debug模式  把所有优化都关掉试试
(203798268)

出0入0汤圆

发表于 2015-6-24 13:46:35 | 显示全部楼层
选择debug模式  把所有优化都关掉试试
(203784676)

出0入0汤圆

 楼主| 发表于 2015-6-24 17:33:07 | 显示全部楼层
steaven2000 发表于 2015-6-24 10:31
1、看看有没有把断点打在{ 或 }处?
2、会不会你在其他文件里改了这个c文件,而在ccs里面没有更新导致行错 ...

1、没有打在{ 或 }处。
2、没有在其他文件里改这个c文件。
3、查明是优化等级问题,把优化等级改低再仿真就没有这些问题了。
4、条件是互斥的

~非常感谢~
(203784623)

出0入0汤圆

 楼主| 发表于 2015-6-24 17:34:00 | 显示全部楼层
changer15309 发表于 2015-6-24 13:46
选择debug模式  把所有优化都关掉试试

优化关掉都解决了。谢谢~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2021-12-8 08:24

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表